【发布时间】:2021-12-25 13:40:15
【问题描述】:
我试图形成一个循环,它从每列中获取最大值,然后使用它来计算每列中其他值的百分比。以前有人问过类似的问题,但是给出的解决方案是计算与我需要的相反的百分比。
我的 df:
| a | b | c | d | |
|---|---|---|---|---|
| 1115.68 | 67.52 | 151.13 | 183.32 | |
| 1083.16 | 53.75 | 136.70 | 202.56 | |
| 1076.69 | 56.07 | 157.77 | 196.43 |
愿望输出:
| a | b | c | d | |
|---|---|---|---|---|
| 100.00 | 100.00 | 95.79 | 90.50 | |
| 97.09 | 79.61 | 86.65 | 100.00 | |
| 96.51 | 83.05 | 100.00 | 96.97 |
当前输出,我以相反的方式得到百分比:
| a | b | c | d | |
|---|---|---|---|---|
| 100.00 | 6.05 | 13.55 | 16.43 | |
| 100.00 | 4.96 | 12.62 | 18.70 | |
| 100.00 | 5.21 | 14.65 | 18.24 |
我使用的代码是这样的:
output <- df
for (i in 1:nrow(df)) {
highvalue <- max(df[i, 1:4])
for (j in 1:4) {
output[i, j] <- df[i, j] * 100/highvalue
}
}
output
代码有什么问题?
【问题讨论】:
标签: r loops max percentage