当我在R中读取excel文件时,一列出生日期的值被转换为5位整数(例如,第3行)。我猜它们代表了多少天?
在这里,我想把‘道布’列中的日期和整数转换为年份(即年龄)。我正在使用eeptools包中的age_calc函数。因此,我希望在将列中的所有值转换为适当日期方面提供一些帮助,以便我可以使用age_calc函数而不返回错误。提前谢谢。
df1[1:5,1:5]:
first_name last_name gender past_3_years_bike_related_purchases DOB
<chr> <chr> <chr> <chr> <chr>
1 Chickie Brister Male 86 1957-07-12
2 Morly Genery Male 69 1970-03-22
3 Ardelis Forrester Female 10 27269
4 Lucine Stutt Female 64 1979-01-28
5 Melinda Hadlee Female 34 1965-09-21发布于 2020-12-31 11:44:42
你可以分开处理这些日期。
#Index which have all numbers in it.
inds <- grepl('^\\d+$', df1$DOB)
#Create an empty column
df1$dob <- as.Date(NA)
#Change normal dates to date
df1$dob[!inds] <- as.Date(df1$DOB[!inds])
#Change excel date to dates.
df1$dob[inds] <- as.Date(as.numeric(df1$DOB[inds]), origin = "1899-12-30")
df1
# first_name last_name gender DOB dob
#1 Chickie Brister Male 1957-07-12 1957-07-12
#2 Morly Genery Male 1970-03-22 1970-03-22
#3 Ardelis Forrester Female 27269 1974-08-28
#4 Lucine Stutt Female 1979-01-28 1979-01-28
#5 Melinda Hadlee Female 1965-09-21 1965-09-21https://stackoverflow.com/questions/65520371
复制相似问题