Необходимо преобразовать вертикальный набор данных в горизонтальный с отношением один ко многим - PullRequest
1 голос
/ 06 ноября 2019

Как создать новый набор данных, в котором столбец 1 представляет собой отдельную категориальную переменную, а столбец 2 - столбец X, связанные значения A. Это отношение один ко многим.

При использовании спреда полученосообщение об ошибке с отношением 1 ко многим

library(tidyr)
new_data <- spread(original_data, `State name`, `Park Location`)

Col 1 Col 2  Transform to  Col 1 Col 2 Col 3 Col 4 
A       C                    A     C    B     A
A       B                    B     A
A       A
B       A 

Error: Each row of output must be identified by a unique combination of keys.
Keys are shared for 687 rows:

1 Ответ

0 голосов
/ 06 ноября 2019

Один из вариантов - создать столбец последовательности с помощью 'Col1'

library(dplyr)
library(tidyr)
original_data %>%
   group_by(Col1) %>%
   mutate(rn = row_number()) %>%
   spread(rn, Col2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...