在R中转置大数据集的有效方法

时间:2016-01-05 04:09:52

标签: r

假设我有一个表格如下:

A  B
1  2
1  3
1  4
5  8
5  9
5  10

我希望输出如下:

  B
A 2  3  4 8 9 10
1 1  1  1 0 0 0 
5 0  0  0 1 1 1

是否有一个包可以创建一个&#34;指标矩阵&#34;?实际数据集有大约300,000,000行和2列。 B列中的值实际上是变量,我想创建一个数据集来指示变量是否已打开&#34; <#p>;

1 个答案:

答案 0 :(得分:1)

您可以这样使用:

df <- data.frame(A = c(1, 1, 1, 5, 5, 5), B = c(2, 3, 4, 8, 9, 10))
table(df)

如果数据框中有其他列,并且您只想使用列A,B,则可以使用以下方式:

table(df$A, df$B)

您可以将上表输出转换为数据框,将此表另存为自己的数据框:

df <- as.data.frame(table(df$A, df$B))