우리가 할 수있는 dplyr
사용 : 바로 날짜의 형식을 가지고
library(dplyr)
df <- df %>%
rowwise() %>%
mutate(MinEnrollmentDate = as.Date(MinEnrollmentDate, format = '%m/%d/%Y'),
MaxEnrollmentDate = as.Date(MaxEnrollmentDate, format = '%m/%d/%Y'),
sampleDate = sample(seq(MinEnrollmentDate, MaxEnrollmentDate, '-1 day'), 1))
df
#> Source: local data frame [5 x 4]
#> Groups: <by row>
#>
#> # A tibble: 5 x 4
#> Course MinEnrollmentDate MaxEnrollmentDate sampleDate
#> <chr> <date> <date> <date>
#> 1 Maths 2016-03-11 2016-03-04 2016-03-08
#> 2 Chemistry 2016-06-11 2016-06-04 2016-06-09
#> 3 Physics 2016-09-11 2016-09-04 2016-09-06
#> 4 English 2016-12-11 2016-12-04 2016-12-09
#> 5 Science 2017-03-11 2017-03-04 2017-03-06
확실하지 경우, 그것은 모호한의 format=
부분을 수정 주시기 바랍니다. 데이터 : 1과 기능을 가진 MaxEnrollmentDate
일의 수 사이 MinEnrollmentDate
에 임의의 번호를 추가 한 후
days <- as.Date(data$MinEnrollmentDate, format="%d/%m/%Y") - as.Date(data$MaxEnrollmentDate, format="%d/%m/%Y")
: 그리고 당신은 두 날짜 사이의 일 수를 계산할 수
df <- read.table(text = 'Course MinEnrollmentDate MaxEnrollmentDate
Maths 3/11/2016 3/4/2016
Chemistry 6/11/2016 6/4/2016
Physics 9/11/2016 9/4/2016
English 12/11/2016 12/4/2016
Science 3/11/2017 3/4/2017', header = T, stringsAsFactors = F)
'MinEnrollmentDate'및 'MaxEnrollmentDate'의 열 이름이 서로 바뀌 었다고 생각합니다. 가장 이상적으로,'MaxEnrollmentDate'는> ='MinEnrollmentDate'입니다. – Aramis7d