Я переношу из фреймов данных и матриц в таблицы данных, но не нашел решения для извлечения уникальных строк из таблицы данных. Я предполагаю, что что-то мне не хватает в обозначении [,J]
, хотя я еще не нашел ответа в FAQ и интро-виньетках. Как я могу извлечь уникальные строки, не обращаясь к кадрам данных?
Вот пример:
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
Связанный вопрос: Является ли это поведение результатом несортированных данных, например, с помощью функции Unix uniq
?