我有一个名为Started
的变量,它是人类受试者参加研究的日期,而另一个名为dos1
的变量,是受试者最后一次接受手术的日期。我想算出从他们上次手术到入学那天有多少个月。我试过了:
as.period(syrrupan$Started-syrrupan$dos1,units=c("month"))
我希望这能给我类似的东西:
14, 18, 1, 26
每个数字均为月数。
相反,我得到:
1 year, -4 months, -5 days and -1 hours 1 year, -5 months, -23 days and -1 hours 1 year, -7 months, 2 days and -1 hours 1 year, -8 months, -28 days and 1 hour 1 year, -7 months, -23 days and 1 hour.
如何只获取月份的数值?
最佳答案
您可以尝试使用difftime
代替,即:
difftime(syrrupan$Started,syrrupan$dos1,units="days")
请注意,这将为您提供类
difftime
的对象,如果需要数字矢量,请在其周围包装一个as.numeric
。还要注意,您不能选择月份作为单位选项,但实际上应该坚持使用固定长度的时间单位。关于r - 润滑减法仅返回一个数值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3765668/