簡體   English   中英

R:水平“折疊”數據框的列

[英]R: Horizontally “collapsing” columns of data frame

我是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新手提供的任何幫助。

謝謝!

如果這是您要做的,請繼續按照對待矩陣的方式對待x 您將獲得想要的結果:

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

作為data.frame

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM