首页 > 解决方案 > 在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
    .   .    .   .   .

谢谢您的帮助

标签: rdplyr

解决方案


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

推荐阅读