问题描述
我有一个数据集,该数据集的变量代表一个人的多个方面,并用连字符分隔。我一直在使用dplyr包的“选择”和“包含”功能按各个方面进行总结。
但是,一个方面可以描述为“其他”并在另一列中指定。我希望能够更改变量名称的一部分,以反映此另一列中的条目。
例如:
#Key: b = big; s = small
> # : g = green,p = purple,o = other
>
> oth<- c("red",NA,"yellow")
> b_g<- c(1,2,3,2)
> s_g<- c(2,1,4)
> b_p<- c(1,2)
> s_p<- c(2,4)
> b_o<- c(3,1)
> s_o<- c(2,4)
>
>
> df<- data.frame(oth,b_g,s_g,b_p,s_p,b_o,s_o)
> df
oth b_g s_g b_p s_p b_o s_o
1 red 1 2 1 2 3 2
2 <NA> 2 3 2 3 0 0
3 <NA> 3 1 3 1 0 0
4 yellow 2 4 2 4 1 4
>
> #To summerise for green only I would use:
>
> green<- df %>% select(contains("_g")) %>% mutate(totalg = rowSums(.[1:2]))
> summary(green$totalg)
Min. 1st Qu. Median Mean 3rd Qu. Max.
3.00 3.75 4.50 4.50 5.25 6.00
>
我想更改数据框中变量的名称,以便它从另一列中提取,如果可能的话,将其进行转换(例如,将“ red”编码为“ r”),以便最终以下
df
oth b_g s_g b_p s_p b_o s_o b_r s_r b_y s_y
1 red 1 2 1 2 3 2 3 2 0 0
2 <NA> 2 3 2 3 0 0 0 0 0 0
3 <NA> 3 1 3 1 0 0 0 0 0 0
4 yellow 2 4 2 4 1 4 0 0 1 4
我将非常感谢您提供任何建议。如果我遗漏了任何东西,那么第一次发帖道歉
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)