如何使用tidyverse实现R数据框的指定格式转换
转换代码
# 加载tidyverse工具包 library(tidyverse) # 执行数据转换 result <- all_long %>% mutate( # 先标记当前记录是均值还是标准误 col_type = if_else(str_ends(group, "_se"), "SE", "y"), # 去掉group字段的_se后缀,统一基础分组名 group = str_remove(group, "_se$") ) %>% # 透视表拆分y和SE为独立列 pivot_wider( id_cols = c(site, group), names_from = col_type, values_from = y ) # 如果需要统一保留小数精度,可以加上下面这行 # result <- result %>% mutate(across(c(y, SE), ~round(.x, 3)))
说明
你示例中NEE_W对应的SE值并未出现在你提供的原始数据中,所以运行上述代码后NEE_W行的SE列会显示为NA,后续补充对应NEE_W_se类的分组数据后,代码无需修改即可自动匹配填充对应SE值。
内容的提问来源于stack exchange,提问作者LEE
相关产品推荐
相关产品推荐

