我正在尝试确定基线和随访之间的月数我的约会看起来像这样
-------------------------
| Baseline | Follow_Up |
-------------------------
| 10/6/15 | 10/10/17 |
| 10/6/15 | 4/20/18 |
| 10/6/15 | 4/18/18 |
| 10/6/15 | 7/2/18 |
| 10/6/15 | 8/8/17 |
| 10/6/15 | 1/17/18 |
| 10/6/15 | 10/19/17 |
--------------------------
而且我正在寻找这样的输出
---------------------------------------------
| Baseline | Follow_Up | Months difference|
---------------------------------------------
| 10/6/15 | 10/10/17 |24.5 |
| 10/6/15 | 4/20/18 |30.9 |
| 10/6/15 | 4/18/18 |30.8 |
| 10/6/15 | 7/2/18 |33.3 |
| 10/6/15 | 8/8/17 |22.4 |
| 10/6/15 | 1/17/18 |27.8 |
| 10/6/15 | 10/19/17 |24.8 |
---------------------------------------------
我想知道我可以使用哪个软件包进行此计算
谢谢
这里是lubridate
的选项
library(dplyr)
library(lubridate)
df1 %>%
mutate(Months_difference = (interval(mdy(Baseline),
mdy(Follow_Up))) %/% months(1))
使用基数R,我们可以将数据转换为“日期”对象,然后使用difftime
计算两列之间的差。
df[] <- lapply(df, as.Date, "%m/%d/%y")
df$Month_diff <- as.numeric(difftime(df$Follow_Up, df$Baseline, units = "days")/30)
df
# Baseline Follow_Up Month_diff
#1 2015-10-06 2017-10-10 24.5
#2 2015-10-06 2018-04-20 30.9
#3 2015-10-06 2018-04-18 30.8
#4 2015-10-06 2018-07-02 33.3
#5 2015-10-06 2017-08-08 22.4
#6 2015-10-06 2018-01-17 27.8
#7 2015-10-06 2017-10-19 24.8
数据
df <- structure(list(Baseline = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L), .Label = "10/6/15", class = "factor"), Follow_Up = structure(c(2L,
5L, 4L, 6L, 7L, 1L, 3L), .Label = c("1/17/18", "10/10/17", "10/19/17",
"4/18/18", "4/20/18", "7/2/18", "8/8/17"), class = "factor")),
class = "data.frame", row.names = c(NA, -7L))