我有下面的数据框,我想添加一个新列,其中包含该数据框每个值的百分比。就像是:
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 而不是百分比。
正如评论中提到的,以下是解决方案。
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)