как превратить вектор в набор в г - PullRequest
2 голосов
/ 31 октября 2011

Я хотел бы видеть список всех возможных значений без повторений в столбце фрейма данных.Что-то вроде:

as.set(series["begin_year"][,1])

для столбца "begin_year", хотя as.set не существует.

Ответы [ 2 ]

5 голосов
/ 31 октября 2011

Уникальная функция *1001* должна сделать это, а также есть несколько других связанных с множеством функций: union, intersect, setdiff, setequal и is.element, которые описаны на странице справки (union).1003 *

4 голосов
/ 31 октября 2011

unique() [или levels(), если столбец является фактором].

Вот воспроизводимый пример:

dat <- OrchardSprays
dat$rowpos
unique(dat$rowpos)
dat$treatment
unique(dat$treatment)
levels(dat$treatment) 

EDIT Обратите внимание, что levels() будет возвращать уникальные уровни фактора, даже если этот уровень не используется. Рассмотрим:

dat2 <- subset(dat, treatment != "A")
unique(dat2$treatment)
# [1] D E B H G F C
# Levels: A B C D E F G H
levels(dat2$treatment) 
# [1] "A" "B" "C" "D" "E" "F" "G" "H"

Вы можете избавиться от неиспользуемых уровней с помощью droplevels():

dat2$treatment <- droplevels(dat2$treatment)
levels(dat2$treatment)
# [1] "B" "C" "D" "E" "F" "G" "H"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...