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)
但我得到的是 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
推荐阅读
- api - 如何创建浮动 IP,然后使用 Openstack API 将其分配给服务器
- oracle - AWS DMS - 将目标端点用作 S3 和 .CSV 文件时,我们如何获取源列名称?可能吗?
- html - 为什么这个外部 MP4 视频没有在我的 HTML 中的 Chrome 中显示?
- google-cloud-platform - 如何更新/刷新虚拟机的谷歌云 shell 输出?
- oauth-2.0 - 我可以像查看 Bearer 令牌中的内容一样解码授权代码吗?
- c# - 通过 Youtube Data API 上传视频时,Videos.Insert 中参数 baseUri 的 Exeption System.ArgumentNullException
- django - 如何跟踪循环导入错误 Django 从未解决
- php - PHP中5个条件的if-else语句
- c - 我在哪里可以找到真正的 memcpy() 实现?
- python - 按要合并的模式选择特定的 csv 文件