我有一个data.frame格式的变量和大小(m乘n),我想将它转换为(m * n乘1)数值变量。我怎样才能做到这一点?例如,具有变量“x1”,其类别为“data.frame”和大小(4 * 5)
x1<-
104.89 44.09 66.82 75.55 64.04
NA 136.91 60.57 62.29 64.01
NA NA 87.18 66.76 80.19
NA NA NA NA NA
我想将“x1”转换为变量“x2”,如下所示,尺寸为(20 * 1),类别为“数字”
x2 <- 104.89 44.09 66.82 75.55 64.04 NA 136.91 60.57 62.29 64.01 NA NA 87.18 66.76 80.19 NA NA NA NA NA
答案 0 :(得分:2)
这样做你想要的吗?
c(t(x1))
答案 1 :(得分:0)
由于您的用例看起来像是一个只在一个角落中包含值的矩阵,因此您可以使用upper.tri
。 E.g。
df=read.table(textConnection('
104.89 44.09 66.82 75.55 64.04
NA 136.91 60.57 62.29 64.01
NA NA 87.18 66.76 80.19
NA NA NA NA NA'))
temp <- df[upper.tri(df)]
temp[!sapply(temp, is.na)]
[1] 44.09 66.82 60.57 75.55 62.29 66.76 64.04 64.01 80.19