R: создать фрейм данных, содержащий уникальные различные элементы в разных столбцах другого фрейма данных - PullRequest
1 голос
/ 10 февраля 2020

Я думаю, что более наглядно показать, что я хочу получить на следующем примере. в основном, для любого уровня я хочу получить список всех элементов, содержащихся в трех других столбцах без повторения.

    group1     group2       group3     Level 
    cat         cat          dog        1
    dog         parrot       cat        1
    mouse       dolphin      dolphin    1
    red         blue         blue       2
    green       yellow       green      2
    black       purple       cat        2

результат, который я хочу получить:

var1        level
cat           1
dog           1
mouse         1
dolphin       1
Parrot        1
red           2
blue          2
green         2
purple        2
cat           2
black         2

1 Ответ

3 голосов
/ 10 февраля 2020

Один из вариантов - повернуть в «длинный» формат и затем получить distinct roww

library(tidyr)
library(dplyr)
df1 %>%
    pivot_longer(cols = -Level, values_to = 'var1') %>%
    distinct(Level, var1) %>%
    select(var1, level = Level)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...