我正在这样做:
data.2<-
rbind(
cbind(data[,1], data[,2]),
cbind(data[,1], data[,3]),
cbind(data[,1], data[,4]),
cbind(data[,1], data[,5]),
cbind(data[,1], data[,6]),
cbind(data[,1], data[,7]),
cbind(data[,1], data[,8]),
cbind(data[,1], data[,9]),
cbind(data[,1], data[,10]),
cbind(data[,1], data[,11]))
如果我有更多的列并且不想手动绑定每个组合怎么办?
数据例如
[,1] [,2] [,3] [,4]
[1,] 1 4 2 5
[2,] 2 5 6 7
[3,] 3 6 8 9
and should look like
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
[4,] 1 2
[5,] 2 6
[6,] 3 8
[7,] 1 5
[8,] 2 7
[9,] 3 9
我有成排的列和行,而且我不知道要多少!
答案 0 :(得分:0)
由于第一列始终在重复,因此您可以像这样使用回收:
data <- matrix(1:33, 3, 11)
data.2 <- cbind(data[, 1], as.numeric(data[, -1]))
结果
> data.2
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
[4,] 1 7
[5,] 2 8
[6,] 3 9
[7,] 1 10
[8,] 2 11
[9,] 3 12
[10,] 1 13
[11,] 2 14
[12,] 3 15
[13,] 1 16
[14,] 2 17
[15,] 3 18
[16,] 1 19
[17,] 2 20
[18,] 3 21
[19,] 1 22
[20,] 2 23
[21,] 3 24
[22,] 1 25
[23,] 2 26
[24,] 3 27
[25,] 1 28
[26,] 2 29
[27,] 3 30
[28,] 1 31
[29,] 2 32
[30,] 3 33