создание нового кадра данных на основе разных данных в строках - PullRequest
0 голосов
/ 14 ноября 2018

Я перемещаю операцию из Excel Power Query в R, что намного быстрее.В результате у меня есть фрейм данных с тысячами строк, однако я собираюсь создать пример фрейма данных, который включает одну строку для каждой другой опции (уровень фактора) для столбцов 5:10 из 15 столбцов, чтобы люди могли вручнуюпроверить каждую опцию (например, таблицу истинности?)

Я мог бы сделать это вручную, но мне было интересно, смогу ли я сделать это автоматически.

    col1     col2       col3
    name     option1    option2
    name2    option1    option2
    name3    option1    option2
    name4    option2    option1

будет преобразовано в фрейм данных, подобный этому:

    col1     col2       col3
    name     option1    option2
    name4    option2    option1   

любая помощь будет принята с благодарностью.

Крис

1 Ответ

0 голосов
/ 14 ноября 2018

С dplyr:

library(dplyr)
d %>% distinct(col2, col3, .keep_all=T)

#    col1    col2    col3
# 1  name option1 option2
# 2 name4 option2 option1

Если вы хотите использовать distinct только для подмножества столбцов, вы можете сначала сопоставить регулярное выражение:

d %>% 
    select(matches("[5-10]|[1]")) %>%  # this selects only rows from 5 to 10 or 1 in the name
    distinct(.keep_all=T) 

Это будетваш первый ряд "col1" и все ряды "col5" до "col10".

...