R 从一个日期算起的年数

R 从一个日期算起的年数,r,R,我从Facebook上以1993年6月23日的格式找回了我的生日,我想把这个生日变成我的年龄 这是我目前掌握的代码: install.packages("eeptools") library(eeptools) as.POSIXct(facebook$birthday, tz = "", format = "%m/%d/%Y", origin="1970-01-01") as.Date(facebook$birthday, format = "%m/%d/%Y") facebook$age

我从Facebook上以1993年6月23日的格式找回了我的生日,我想把这个生日变成我的年龄

这是我目前掌握的代码:

install.packages("eeptools")
library(eeptools)

as.POSIXct(facebook$birthday, tz = "", format = "%m/%d/%Y", origin="1970-01-01")
as.Date(facebook$birthday, format = "%m/%d/%Y")

facebook$age <- floor(age_calc(facebook$birthday, units = "years"))
在最后一行之后,我得到以下错误:

年龄计算错误(facebook$birth,units=“years”): dob和enddate都必须是日期类对象

如果有人能帮助我,我将不胜感激:)

决心! 编辑:我刚刚忘记在最后一行中插入as.Date:

facebook$age <- floor(age_calc(as.Date(facebook$birthday, units = "years"))

facebook$age我不确定什么失败了。这就是我所做的,对我来说很有用:

install.packages("eeptools")
library(eeptools)

date = "06/23/1993"
date = as.POSIXct(date, tz = "", format = "%m/%d/%Y", origin="1970-01-01")

floor(age_calc(as.Date(date), units = "years"))
#[1] 23
或者没有POSIXct转换(根据G.Grothendieck的评论):


您需要
format=“%m/%d/%Y”
(斜杠,大写Y)也可以使用
as.Date
转换为Date对象。哦,读一下这个
?strftime
-非常有用;-)@jakub感谢您的回复,正如您在我编辑的问题中看到的,它帮助解决了第一个问题,现在我想将数据转换为一个整数年龄,即23岁。。。你(或其他任何人)知道如何修复错误吗?顺便说一句,在运行前两行之后,如果我运行class(facebook$birthday),它仍然是一个角色,可能与此有关,谢谢它工作了。。。问题是我没有将as.Data分配给新对象。。初学者的错误我猜是:Das.POSIXct(facebook$birth,tz=”“,format=“%m/%d/%Y”,origin=“1970-01-01”)facebook$birth如果你想进一步使用它,你总是必须将结果分配给一个变量(相同的或新的),否则它只会在控制台上打印出来,但不会持久。对!更新。
install.packages("eeptools")
library(eeptools)

date = "06/23/1993"
date = as.POSIXct(date, tz = "", format = "%m/%d/%Y", origin="1970-01-01")

floor(age_calc(as.Date(date), units = "years"))
#[1] 23
floor(age_calc(as.Date(date, format = "%m/%d/%Y"), units = "years"))