所以我在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
或者其他相似之处似乎很容易,但是我在网上或文档中找到类似案例时遇到了很多困难
干杯
答案 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