重组R中的许多列

时间:2018-04-10 09:25:12

标签: r dataframe tidyr

我有一个包含200列的巨大数据框,类似这样

A  1  E  5  I 9   ...
B  2  F  6  J 10  ...
C  3  G  7  K 10  ...
D  4  H  8  L 12  ...

将200列重新分成两列的最佳方法是什么,以便:

A  1
B  2
C  3
D  4
E  5
F  6
G  7
H  8
I  9

我是R的新手。必须有一种非常简单的方法来做到这一点,但我无法真正找到它。 Tidyr似乎没有这方面的功能。

2 个答案:

答案 0 :(得分:3)

试试这个:

data.frame(col1 = unlist(df1[, c(TRUE, FALSE)]),
           col2 = unlist(df1[, c(FALSE, TRUE)]))

可能这是重复的,找不到目标帖子......

答案 1 :(得分:0)

阅读可重复的示例数据:

df <- read.table(text = "A  1  E  5  I 9   ...
B  2  F  6  J 10  ...
C  3  G  7  K 10  ...
D  4  H  8  L 12  ...")

删除无用的列

df$V7 <- NULL

通过选择列并将它们合并到向量

来创建输出
result <- data.frame(V1 = as.vector(unlist(df[ , seq(1, dim(df)[2] -1, 2)])),
                     V2 = as.vector(unlist(df[ , seq(2, dim(df)[2], 2)])))

打印解决方案:

print(result)
   V1 V2
1   A  1
2   B  2
3   C  3
4   D  4
5   E  5
6   F  6
7   G  7
8   H  8
9   I  9
10  J 10
11  K 10
12  L 12