使用tidyr和其他选项转换行和列变量

时间:2018-02-14 10:07:37

标签: r transform tidyr

我的虹膜数据集格式如下,

Species Sepal.Length Sepal.Width Petal.Length Petal.Width
setosa          5.1         3.5          1.4         0.2
setosa          4.9         3.0          1.4         0.2
setosa          4.7         3.2          1.3         0.2
setosa          4.6         3.1          1.5         0.2
setosa          5.0         3.6          1.4         0.2
setosa          5.4         3.9          1.7         0.4

我希望将其转换为以下格式,

Species  Part Length Width
  setosa Petal    1.4   0.2
  setosa Petal    1.4   0.2
  setosa Petal    1.3   0.2
  setosa Petal    1.5   0.2
  setosa Petal    1.4   0.2
  setosa Petal    1.7   0.4 

我能够使用tidyr包实现它。代码如下,

iris.wide <- iris %>%
  gather(key, value, -Flower, -Species) %>%
  separate(key, c("Part", "Measure"), "\\.") %>%
  spread(Measure, value)

但我觉得很多代码/步骤都使用了收集,分离和传播函数。

我正在寻找更好/近距离的建议,如果有的话。

0 个答案:

没有答案