Я изучаю тидир и выполняю небольшое упражнение для преобразования iris
набора данных из широкого в длинный.
Исходный набор данных:
Species Sepal.Length Sepal.Width Petal.Length Petal.Width
1 setosa 5.1 3.5 1.4 0.2
2 setosa 4.9 3.0 1.4 0.2
3 setosa 4.7 3.2 1.3 0.2
4 setosa 4.6 3.1 1.5 0.2
5 setosa 5.0 3.6 1.4 0.2
6 setosa 5.4 3.9 1.7 0.4
Полученный набор данных, который я хочу:
Species Part Length Width
1 setosa Petal 1.4 0.2
2 setosa Petal 1.4 0.2
3 setosa Petal 1.3 0.2
4 setosa Petal 1.5 0.2
5 setosa Petal 1.4 0.2
6 setosa Petal 1.7 0.4
Код, который я написал для управления набором данных:
iris_re <- iris[,c(5,1,2,3,4)]
iris.wide <- iris_re %>%
gather(key = "flower_att", value = "measurement",
-Species) %>%
separate(flower_att, into = c("Part","Method")) %>%
spread(Method,measurement)
Но последняя строка spread()
выдает ошибку:
Ошибка: каждая строка вывода должна быть идентифицирована уникальной комбинацией клавиш. Ключи разделены на 400 строк:
Я не ожидал, что это произойдет, и я все еще борюсь с этим. Спасибо!