0

我有一个具有 data.frame 格式和大小(m x n)的变量,我想将其转换为(m * n x 1)数字变量。我怎样才能做到这一点?例如具有“data.frame”类和大小(4 * 5)的变量“x1”

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
4

2 回答 2

2

这是做你想做的吗?

c(t(x1))
于 2013-11-11T20:25:45.493 回答
0

由于看起来您的用例是一个仅在一个角落具有值的矩阵,因此您可以使用upper.tri. 例如

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
于 2013-11-11T20:15:54.220 回答