sil*_*ter 2 r multiple-columns dataframe dplyr
我试图提取列标题的名字,例如pack_10、pack_18和pack_20,并将它们全部用 sum 分组。下面你可以看到我的数据
df<-data.frame(
packs_10_value5=c(100,0,0,0,0),
packs_18_value9=c(200,0,0,0,0),
packs_20_value13=c(300,0,0,0,0),
packs_10_value15=c(100,0,0,0,0),
packs_18_value17=c(200,0,0,0,0),
packs_20_value18=c(300,0,0,0,0)
)
df
Run Code Online (Sandbox Code Playgroud)
那么有人可以帮我解决这个问题吗?
您可以split按列并按rowSums组应用:
library(purrr)\nsplit.default(df, f = gsub("_value.*", "", names(df))) %>% \n map_dfc(rowSums)\n\n# A tibble: 5 \xc3\x97 3\n packs_10 packs_18 packs_20\n <dbl> <dbl> <dbl>\n1 200 400 600\n2 0 0 0\n3 0 0 0\n4 0 0 0\n5 0 0 0\nRun Code Online (Sandbox Code Playgroud)\n