r - 循环变异R中的多列
问题描述
我对使用 R 比较陌生,我需要一些帮助来创建一个循环来改变多个列。我正在尝试使用宽格式数据框创建一个对每个样本进行计算的列。我的数据框看起来与此类似:
df<- data.frame("count1" = c(1,2,3,4), "total1" = c(5,6,8,9), "count2" = c(4,3,2,1), "total2" = c(9,8,6,5))
其中 count1 和 total 1 属于同一个样本,我想使用公式为每个样本改变一列
df <- df %>% mutate(percent1 = count1/total1)
我正在尝试创建一个循环来自动改变这些列,因为我有一百多个样本/列。我不确定我是否必须先融化数据框,但由于数据比上面描述的更复杂,这是不希望的。我尝试了多种方法来创建循环,例如
for (i in 1:nrow(samples)){
df <- df %>% mutate(paste("percent", i) = df$(paste("count"), i) / df$(paste"total", i)
}
但由于它不起作用,我非常感谢任何帮助
解决方案
如果不使用dplyr
,这可能更容易,因为:
for (i in 1:nrow(samples)){
df[[paste0("percent", i)]] <- df[[paste0("count", i)]] / df[[paste0("total", i)]]
}
推荐阅读
- ip - Akamai 阻止了我的 Comcast IP 地址 - 如何修复?
- python - 如何知道在框架内选择了哪个按钮并稍后在 tkinter 中使用其文本?
- python - 子进程在 Python 3.7+ 中包含有问题的引号
- javascript - 如何在 Bootstrap 4 中切换折叠图标的动画?
- svg.js - 如何绘制 45 度的 svg 折线?
- python - 为什么 pandas 25.3 版的 groupby 和 agg 不再起作用了?
- r - 反应性地过滤数据以生成地图
- sql - 向存储过程添加列是否有性能风险
- android - Apk 在 libs 中不包含 arm64-v8a 文件夹,但我的项目在 jnilibs/arm64-v8a/xyz.so 下有 .so 文件
- python - 多项式朴素贝叶斯分类器python