使用tidyverse在R中进行数据整理?

时间:2020-02-27 16:49:52

标签: r dataframe data-wrangling wrangle

所以我有这个数据集 主要转换是旋转表,因此种群名称位于第一列,名称是每一列的标题(并且它们已重命名,因此叶绿素被重命名为CHLa)。旋转和重命名表后的另一个更改是,将每一行复制到指定的数量,因此在预览中,如果您注意到,AK被重复了8次,NU被重复了两次,依此类推。 谁能帮我做到这一点? 谢谢!

2 个答案:

答案 0 :(得分:0)

我们可以使用void Function(BaseClass* baseClass) { if (auto ptr = dynamic_cast<LeftClass*>(baseClass)) myVector.push_back(new LeftClass(*ptr)); if (auto ptr = dynamic_cast<RightClass*>(baseClass)) myVector.push_back(new RightClass(*ptr)); } 转换为长格式,然后执行pivot_longer

pivot_wider

数据

library(tidyr)
library(dplyr)
library(stringr)
df1 %>% 
  filter(str_detect(name, 'Chlorophyll')) %>%
  pivot_longer(cols = -name, names_to = "POP") %>%      
  pivot_wider(names_from = name, values_from = value)

答案 1 :(得分:-1)

我认为您可以使用tidyverse中的pivot_wider和pivot_longer函数:https://tidyr.tidyverse.org/articles/pivot.html