首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >承认出生日期并将其转换为年龄

承认出生日期并将其转换为年龄
EN

Stack Overflow用户
提问于 2020-12-31 11:39:23
回答 1查看 27关注 0票数 0

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

在这里,我想把‘道布’列中的日期和整数转换为年份(即年龄)。我正在使用eeptools包中的age_calc函数。因此,我希望在将列中的所有值转换为适当日期方面提供一些帮助,以便我可以使用age_calc函数而不返回错误。提前谢谢。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-31 11:44:42

你可以分开处理这些日期。

代码语言:javascript
复制
#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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65520371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档