Извлечение уникальных строк из таблицы данных в R [дубликат]

На этот вопрос уже есть ответ:

Я перехожу от фреймов данных и матриц к таблицам данных, но не нашел решения для извлечения уникальных строк из таблицы данных. Полагаю, что-то мне не хватает в нотации [, 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 ] функция?

27
задан Iterator 26 September 2011 в 22:52
поделиться