我有一个名为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/

10-10 14:17
查看更多