首页 > 解决方案 > 向数据框添加一个新列,其中包含该数据框每个值的百分比

问题描述

我有下面的数据框,我想添加一个新列,其中包含该数据框每个值的百分比。就像是:

name <- c("asdad","dssdd")
number <- c(5,5)
df <- data.frame(name,number)

for (i in 1:nrow(df)) {
  percentage<-df[i,1]/sum(df$number)
}

new <- cbind(df, percentage)

但我得到的是 NA 而不是百分比。

标签: r

解决方案


如评论中所述,以下是解决方案。

library(dplyr)
df %>% mutate(Percentage = number/sum(number))

Output:
   name number Percentage
1 asdad      5       0.25
2 dssdd      5       0.25
3  assa     10       0.50

推荐阅读