重塑R中的data.frame(聚集,传播)

时间:2017-01-19 15:02:21

标签: r string

我想将R中的虹膜数据从5列重新整理为4列。最终输出应该有列:

  1. 部分
  2. 长度
  3. 宽度
  4. 'Part'栏应包括'Petal'和'Sepal'

    我在下面尝试的代码给出了错误“错误:行的重复标识符”

    iris_new <- iris[c(5, 1:4)] %>% 
    gather(part_measure, value, -Species) %>%
    separate(part_measure, c("part", "measure"), "[.]") %>%
    spread(measure, value)
    

    请提前告知我。

1 个答案:

答案 0 :(得分:2)

您只需要一个ID变量来唯一标识每一行。

iris_new <- iris[c(5, 1:4)] %>% 
  mutate(id = 1:nrow(iris)) %>% 
  gather(part_measure, value, -Species, -id) %>%
  separate(part_measure, c("part", "measure"), "[.]") %>%
  spread(measure, value) %>% View()