替换 R 中数据框中的条目

我有一个维度为 100 x 54 的数据框,其中行是周末的股票值,每列代表一只股票。我想用股票的返回值替换我的数据框中的每个条目,因此将单元格的当前值除以前一个值,并将当前值替换为新值。示例:假设我有包含这些值的数据框,

table 1

我想操纵我的数据框:

table 2

所以它最终看起来像这样:

table 3

我已经把它写成了我的代码,但它并没有做那个工作。我想知道是否有人可以帮助我。

Returns99 <- NULL

for(i in 2:100){
  Returns99 <- rbind(Returns99,rep(NA,54))
  Returns <- rbind(Returns99,(df100[i,]/df100[i-1,]))
                   
}

其中 df100 是包含价格条目的数据框。

Arbot 回答:替换 R 中数据框中的条目

你不需要循环。使用 Base R

rbind(NA,df100[-1,] / df100[-nrow(df100),])

给予,

        AGG       DBC       DFE
1        NA        NA        NA
2 1.0000000 1.0000000 1.0000000
3 1.0021019 0.9739496 0.9990862
4 0.9993008 1.0008628 0.9911585

数据:

structure(list(AGG = c(99.91,99.91,100.12,100.05),DBC = c(23.8,23.8,23.18,23.2),DFE = c(65.66,65.66,65.6,65.02)),class = "data.frame",row.names = c(NA,-4L))
本文链接:https://www.f2er.com/3956.html

大家都在问