计算列的百分比

时间:2017-05-26 07:01:33

标签: r

所以我在R studio中有一个data.frame,我用以下列做了

Site               sumofspecies1       sumofspecies2      totalspecies
uniquesite         500                 1000               1500
uniquesite2        1000                500                1500

我想创建一个将这些值更改为

的数据框
Site               sumofspecies1       sumofspecies2      totalspecies
uniquesite         33.3%               66.6%              1500
uniquesite2        66.6%               33.3%              1500

或者其他相似之处似乎很容易,但是我在网上或文档中找到类似案例时遇到了很多困难

干杯

1 个答案:

答案 0 :(得分:2)

一个选项是tidyverse

library(dplyr)
df1 %>%
     mutate_at(vars(2:3), funs(paste0(round(100*./sum(.), 1), "%")))
#         Site sumofspecies1 sumofspecies2 totalspecies
#1  uniquesite         33.3%         66.7%         1500
#2 uniquesite2         66.7%         33.3%         1500