计算 R 中多列的唯一值

dex*_*ter 3 r bigdata dplyr

假设我有这样的 data.frame:

a b 1
b c 2
c e 3
d a 4
Run Code Online (Sandbox Code Playgroud)

我试图计算前两列的唯一值,所以结果应该是5代表a b c d e

但我的问题是我的数据太大了大约 7,000,000 行,所以我想将第二列行附加到第一列。但我只知道如何一次追加一行,所以有人知道如何将整列追加到第一列吗?或者您对解决这个问题有更好的想法吗?

提前致谢

akr*_*run 6

我们可以使用unlistunique

length(unique(unlist(df1[1:2])))
#[1] 5
Run Code Online (Sandbox Code Playgroud)

或转置数据集,即在对前 2 列进行子集化后,将其连接到vector,获取unique元素并找到length

length(unique(c(t(df1[-3]))))
#[1] 5
Run Code Online (Sandbox Code Playgroud)

数据

df1 <- structure(list(v1 = c("a", "b", "c", "d"), v2 = c("b", "c", "e", 
"a"), v3 = 1:4), .Names = c("v1", "v2", "v3"), class = "data.frame", 
row.names = c(NA, -4L))
Run Code Online (Sandbox Code Playgroud)