r-识别出生日期并将其转换为年龄



当我在R中读取excel文件时,出生日期列的一些值被转换为5位整数(例如第3行(。我猜它们代表了天数?

在这里,我想将"DOB"列中的日期和整数都转换为年(即年龄(。我使用的是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

您可以单独处理这些日期。

#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-21

相关内容

  • 没有找到相关文章

最新更新