如何使用日期将长数据集折叠成宽数据
How to collapse long data set into wide data using date
我是 R 的新手。我想使用日期将数据折叠成一行。下面是我的三列原始数据集。两行具有相同的 ID。首次认购开始日期为2017-08-20,首次认购结束日期为2018-09-10。下一个订阅开始日期是 2019-05-10,结束日期是 NA(因为订阅正在进行)
编号 | Sbscrption_strt_date | Sbscription_end_date
1234 | 2017-08-20 | 2018-09-10
1234 | 2019-05-10 |不适用
我想在一行而不是两行中查看结果。将创建两个新列 Sbsrciption_strt_date1 和 Sbscription_end_date1。新列 Sbsrciption_strt_date1 将包含 2019-05-10 而 Sbscrption_end_date1 将包含 NA
编号 | Sbscription_strt_date1 | Sbscription_strt_date1 |Sbscription_end_date |Sbscription_end_date1
1234 | 2017-08-20 | 2018-09-10 |2019-05-10 |不适用
我想将两行合二为一。非常感谢您的帮助!
这是一个基础 R 选项 reshape
reshape(transform(df,ids = 1:nrow(df)),direction = "wide",idvar = "ID",timevar = "ids")
这样
ID Enrollement_date.1 Enrollement_End_date.1 Enrollement_date.2
1 XX 2007-02-01 2017-09-01 2018-09-01
Enrollement_End_date.2
1 <NA>
数据
df <- structure(list(ID = c("XX", "XX"), Enrollement_date = c("2007-02-01",
"2018-09-01"), Enrollement_End_date = c("2017-09-01", NA)), class = "data.frame", row.names = c(NA,
-2L))
我是 R 的新手。我想使用日期将数据折叠成一行。下面是我的三列原始数据集。两行具有相同的 ID。首次认购开始日期为2017-08-20,首次认购结束日期为2018-09-10。下一个订阅开始日期是 2019-05-10,结束日期是 NA(因为订阅正在进行)
编号 | Sbscrption_strt_date | Sbscription_end_date
1234 | 2017-08-20 | 2018-09-10
1234 | 2019-05-10 |不适用
我想在一行而不是两行中查看结果。将创建两个新列 Sbsrciption_strt_date1 和 Sbscription_end_date1。新列 Sbsrciption_strt_date1 将包含 2019-05-10 而 Sbscrption_end_date1 将包含 NA
编号 | Sbscription_strt_date1 | Sbscription_strt_date1 |Sbscription_end_date |Sbscription_end_date1
1234 | 2017-08-20 | 2018-09-10 |2019-05-10 |不适用
我想将两行合二为一。非常感谢您的帮助!
这是一个基础 R 选项 reshape
reshape(transform(df,ids = 1:nrow(df)),direction = "wide",idvar = "ID",timevar = "ids")
这样
ID Enrollement_date.1 Enrollement_End_date.1 Enrollement_date.2
1 XX 2007-02-01 2017-09-01 2018-09-01
Enrollement_End_date.2
1 <NA>
数据
df <- structure(list(ID = c("XX", "XX"), Enrollement_date = c("2007-02-01",
"2018-09-01"), Enrollement_End_date = c("2017-09-01", NA)), class = "data.frame", row.names = c(NA,
-2L))