У меня есть такой фрейм данных:
df <- data.frame("COL_1" = "a", "COL_2" = c("a","b","c"), "COL_3" = "b", "COL_4" = "c", "COL_6" = "d")
Вывод:
DB_INDEX|COL_2|COL_3|COL_4|COL_6
1 a a b c d
2 a b b c d
3 a c b c d
Я хотел бы создать новый фрейм данных, содержащий только одну строку, например:
Expected_output:
DB_INDEX|COL_2|COL_3|COL_4|COL_6
1 a [a,b,c] b c d
Итак, в основном я хотел бы «сгруппировать» по столбцам db_index, 3,4,6 и создать список значений, где они различаются в col_2. DB_INDEX, COL_3, COL_4, COL_5 всегда будут иметь одинаковое значение, меняется только COL_2.
Есть идеи, которые могут мне помочь?
отредактировано
Я нашел это:
df <- df %>% group_by(COL_1) %>%
mutate(COL_2 = paste0(COL_2, collapse = " "))
Но он возвращает строку, поэтому я попытался изменить ее следующим образом:
df <- df %>% group_by(COL_1) %>%
mutate(COL_2 = as.list(COL_2)
Но он возвращает эту ошибку:
replacement has 2 rows, data has 1
COL_2 строка должна содержать список, я знаю, в Python Pandas это возможно, это в R?
Это мой первыйнеделю в R, так что я нахожу некоторые проблемы. Заранее спасибо:)