r - 在R中逐列更改数据框中的数据按列表中的百分比
问题描述
我有一个带有一些数字数据的数据框,我还有一个带有一些数字的数组,这个数组是按照数组值的顺序每列的百分比变化。
例如,如果我有数组
percentage_change <- c(10,10,0,-10,-10)
A <- c(100,100,100,100,100)
B <- c(100,100,100,100,100)
C <- c(100,100,100,100,100)
D <- c(100,100,100,100,100)
E <- c(100,100,100,100,100)
data <- data.frame(A, B, C, D, E)
我需要的是一段代码,它将通过数组中数字的百分比更改“数据”数据框中的列
最终的结果是这样的
A B C D E
110 110 100 90 90
110 110 100 90 90
110 110 100 90 90
. . . . .
谢谢您的帮助
解决方案
as.data.frame(t(t(data) + t(data) * percentage_change/100))
A B C D E
1 110 110 100 90 90
2 110 110 100 90 90
3 110 110 100 90 90
4 110 110 100 90 90
5 110 110 100 90 90
推荐阅读
- python - 断言 0, 'error' 与 raise AssertionError('error')
- javascript - 如何在我的 Stimulus JS 控制器中声明一个 const 字符串?
- android - Kotlin 代码在编译时会“缩小”吗?
- angular - 在获得角度响应后,如何在选择标签上将其余 api 调用中的值设置为 ngModel
- gtk - 如何在 GTK4 中使窗口居中?
- hbase - 具有设置字段的记录的 Bigtable 行键设计
- r - GLMM - R 的 Huber-White 稳健标准误差
- winapi - SRW Lock 可以用作二进制信号量吗?
- python - 如何使用 tensorflow 注意力层?
- c# - 如何在一段时间内和外部从列表中获取元素