R:水平"坍塌"数据框的列

时间:2014-12-23 23:38:11

标签: r

我是R的新手并且可能是一个非常基本的问题,但是我不确定该怎么称呼这个操作所以我只是称它为“崩溃”。我有一个包含许多列的数据框如下:

x <- data.frame(matrix(0, 10, 10))
x[1, 1:5] <- 1
x[3,6:10] <- 2
x[5,6:10] <- 3
x[6,6:10] <- 4
x[8, 1:5] <- 5

......等等n行。所以前10个看起来像这样:

   X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1   1  1  1  1  1  0  0  0  0   0
2   0  0  0  0  0  0  0  0  0   0
3   0  0  0  0  0  2  2  2  2   2
4   0  0  0  0  0  0  0  0  0   0
5   0  0  0  0  0  3  3  3  3   3
6   0  0  0  0  0  4  4  4  4   4
7   0  0  0  0  0  0  0  0  0   0
8   5  5  5  5  5  0  0  0  0   0
9   0  0  0  0  0  0  0  0  0   0
10  0  0  0  0  0  0  0  0  0   0

我想水平移动列X6:X11,以便我有一个数据框如下:

   X1 X2 X3 X4 X5
1   1  1  1  1  1
2   0  0  0  0  0 
3   2  2  2  2  2
4   0  0  0  0  0
5   3  3  3  3  3
6   4  4  4  4  4
7   0  0  0  0  0
8   5  5  5  5  5
9   0  0  0  0  0
10  0  0  0  0  0

..但我仍坚持如何有效地做到这一点。对R新手的任何帮助都非常感谢。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果这就是你要做的全部,继续以对待矩阵的方式处理x。你会得到你想要的结果:

x[,1:5] + x[,6:10]

作为data.frame