Как я могу перечислить отдельные значения в векторе, где значения репликативны? Я имею в виду аналогично следующему оператору SQL:
SELECT DISTINCT product_code
FROM data
источник
Как я могу перечислить отдельные значения в векторе, где значения репликативны? Я имею в виду аналогично следующему оператору SQL:
SELECT DISTINCT product_code
FROM data
Вы имеете в виду unique
:
R> x = c(1,1,2,3,4,4,4)
R> x
[1] 1 1 2 3 4 4 4
R> unique(x)
[1] 1 2 3 4
Если данные на самом деле являются, factor
вы можете использовать levels()
функцию, например
levels( data$product_code )
Если это не фактор, но он должен быть, вы можете сначала преобразовать его в множитель, используя factor()
функцию, например
levels( factor( data$product_code ) )
Другой вариант, как упоминалось выше, - это unique()
функция:
unique( data$product_code )
Основное различие между ними (в применении к a factor
) заключается в том, что levels
будет возвращен вектор символов в порядке уровней, включая любые уровни, которые закодированы, но не встречаются. unique
вернет a factor
в том порядке, в котором значения появляются впервые, при этом все не встречающиеся уровни будут опущены (хотя все еще включены в levels
возвращаемый коэффициент).
Попробуйте использовать дублированную функцию в сочетании с оператором отрицания "!".
Пример:
wdups <- rep(1:5,5)
wodups <- wdups[which(!duplicated(wdups))]
Надеюсь, это поможет.
Вы также можете использовать пакет sqldf в R.
Z <- sqldf('SELECT DISTINCT tablename.columnname FROM tablename ')