向数据框添加一个新列,其中包含该数据框每个值的百分比

fir*_*o23 6 r

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

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)
Run Code Online (Sandbox Code Playgroud)

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

Jas*_*ews 8

正如评论中提到的,以下是解决方案。

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
Run Code Online (Sandbox Code Playgroud)