Як я можу перерахувати різні значення у векторі, де значення є реплікативними? Я маю на увазі, подібно до наступного виразу 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
Якщо дані насправді a, factor
тоді ви можете скористатися levels()
функцією, наприклад
levels( data$product_code )
Якщо це не фактор, але він повинен бути, ви можете перетворити його на коефіцієнт спочатку, використовуючи factor()
функцію, наприклад
levels( factor( data$product_code ) )
Іншим варіантом, як згадувалося вище, є unique()
функція:
unique( data$product_code )
Основна різниця між ними (коли застосовується до a factor
) полягає у тому levels
, що повертає вектор символів у порядку рівнів, включаючи будь-які рівні, кодовані, але не зустрічаються. unique
поверне значення a factor
в порядку, коли значення з’являться спочатку, а будь-які не зустрічаються рівні опущені (хоча все ще включені levels
до поверненого коефіцієнта).
Ви також можете використовувати пакет sqldf в R.
Z <- sqldf('SELECT DISTINCT tablename.columnname FROM tablename ')