2

我有一个数据框如下:

gous <- structure(list(V1 = c(0, 28.44), V2 = c(1, 28.44), V3 = c(2, 
                                                                  28.44), V4 = c(3, 28.39), V5 = c(4, 28.22), V6 = c(5, 27.72), 
                       V7 = c(6, 24.56), V8 = c(7, 18.78), V9 = c(8, 18.5), V10 = c(9, 
                                                                                    18.56), V11 = c(10, 18.5), V12 = c(11, 18.72)), .Names = c("V1", 
                                                                                                                                               "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", 
                                                                                                                                               "V12"), class = "data.frame", row.names = c(NA, -2L))

数据如下:

> gous
     V1    V2    V3    V4    V5    V6    V7    V8   V9   V10  V11   V12
1  0.00  1.00  2.00  3.00  4.00  5.00  6.00  7.00  8.0  9.00 10.0 11.00
2 28.44 28.44 28.44 28.39 28.22 27.72 24.56 18.78 18.5 18.56 18.5 18.72

我想将数据转换为以下内容:

0
1
2
3
4
5
6
7
8
9
10
11
28.44
28.44
28.44
28.39
28.22
27.72
24.56
18.78
18.5
18.56
18.5
18.72

我尝试了什么:我尝试将两行数据分成单独的向量,如下所示:

gous1 <- as.numeric(gous[1,])
gous2 <- as.numeric(gous[2,])

但我无法结合使用rbindor cbind。我在这里看到的功能是什么?

4

4 回答 4

5

我会t尝试c

c(t(gous))

## > c(t(gous) )
##  [1]  0.00  1.00  2.00  3.00  4.00  5.00  6.00  7.00  8.00  9.00 10.00 11.00
## [13] 28.44 28.44 28.44 28.39 28.22 27.72 24.56 18.78 18.50 18.56 18.50 18.72
于 2013-06-03T21:24:09.270 回答
3

您正在寻找的功能是c,即c(gous1, gous2)。您也可以这样做as.vector(t(gous))来实现相同的输出。

于 2013-06-03T21:23:22.217 回答
2

c()命令将连接两个向量为一个:

c(as.numeric(gous[1,]),as.numeric(gous[2,]))
于 2013-06-03T21:25:02.930 回答
1
c(apply(gous, 1, c))
 [1]  0.00  1.00  2.00  3.00  4.00  5.00  6.00  7.00  8.00  9.00 10.00 11.00 28.44 28.44 28.44 28.39
 [17] 28.22 27.72 24.56 18.78 18.50 18.56 18.50 18.72

如果您想看到它垂直显示,请尝试:

 as.matrix( c(apply(gous, 1, c)) )

还可以使用:

c( matrix(unlist(gous), ncol=2, byrow=TRUE))
于 2013-06-03T21:27:47.063 回答