推荐两个长宽数据互换函数pivot_longer和pivot_wider

长宽数据转换有reshape(真难用),reshape2,cast,melt,spread,gather后两项非常简单易用,pivot_longer和pivot_wider,更强劲,在数据重组过程中还完成了数据分列的动作,下面实例摘自tidyr的说明:

who %>% pivot_longer(
  cols = new_sp_m014:newrel_f65,
  names_to = c("diagnosis", "gender", "age"),
  names_pattern = "new_?(.*)_(.)(.*)",
  values_to = "count"
)

数据格式如下:是1980年到1995年各个国家结核病不同年龄,性别种类的数据,new_sp_m1524表示
男性(m)15到24岁(1524)的诊断类型(sp)。通过name_to和names_pattern,将各列拆分重组,形成长数据,cols表示需要拆分的列。

> who
# A tibble: 7,240 x 60
   country iso2  iso3   year new_sp_m014  new_sp_m2534
                               
 1 Afghan~ AF    AFG    1980          NA           NA           NA

你可能感兴趣的:(r语言)