首页 > 解决方案 > 如何转置数据框的一部分?

问题描述

假设我有一个如下数据框:

ID  DOMAIN.x  VISIT.x  DAY     DOMAIN.y   VISIT.y
1     A        C1D1     30        B         C2D1 

现在我想为 .y 变量获取另一行数据。

ID  DOMAIN   VISIT    DAY
1     A       C1D1    30
2     B       C2D1    30

标签: r

解决方案


你可以这样做:

df <- read.table(text = "
ID  DOMAIN.x  VISIT.x  DAY     DOMAIN.y   VISIT.y
1     A        C1D1     30        B         C2D1 ", header = T)

reshape(df, direction = "long", varying = list(domain = c(2,5), visit = c(3,6)),
        idvar = "ID", v.names = c("DOMAIN", "VISIT"), timevar = "ID", times = c(1,2))

    ID DAY DOMAIN VISIT
1.1  1  30      A  C1D1
1.2  2  30      B  C2D1


推荐阅读