我正在从数据框和矩阵迁移到数据表,但还没有找到从数据表中提取唯一行的解决方案。我想我在[,J]
符号方面遗漏了一些东西,尽管我还没有在常见问题解答和介绍小插曲中找到答案。如何在不转换回数据帧的情况下提取唯一行?
这是一个例子:
library(data.table)
set.seed(123)
a <- matrix(sample(2, 120, replace = TRUE), ncol = 3)
a <- as.data.frame(a)
b <- as.data.table(a)
# Confirm dimensionality
dim(a) # 40 3
dim(b) # 40 3
# Unique rows using all columns
dim(unique(a)) # 8 3
dim(unique(b)) # 34 3
# Unique rows using only a subset of columns
dim(unique(a[,c("V1","V2")])) # 4 2
dim(unique(b[,list(V1,V2)])) # 29 2
相关问题:这种行为是否是数据未排序的结果,就像 Unixuniq
函数一样?