【发布时间】:2021-02-02 14:22:25
【问题描述】:
我对使用 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)
}
但由于它不起作用,我非常感谢任何帮助
【问题讨论】: