我正试图形成一个循环,它从每列中获取最大值,然后使用它来计算每列中其他值的百分比。以前有人问过类似的问题,但给出的解决方案是以与我需要的相反的方式计算百分比。
我的df:
a | b | c | d|
---|---|---|---|
1115.68 | 67.52 | 151.13 | 183.32 |
1083.16 | 53.75 | 202.56 | |
1076.69 | 56.07 | 157.77196.43
您可以在行中找到最大值,而不是在列中。循环版本:
output <- df
for (i in 1:ncol(df)) {
highvalue <- max(df[, i])
output[, i] <- output[, i] / highvalue * 100
}
但是你可以使用好版本的代码:
library(dplyr)
output <- df / df %>% lapply(max) * 100