【发布时间】:2013-05-30 01:08:18
【问题描述】:
我经常处理xts 格式的数据,并且经常必须对它们进行缩放(比如在某个日期等于 100)。我目前使用一个函数来执行此操作,该函数使用for-loop 工作——但这似乎不是很功能。
我现在是这样做的:
df1 <- data.frame(rnorm(100), runif(100), 1:100*rnorm(100))
dfx <- xts(df1, order.by = seq(as.Date("2001-01-01"), by='mon', length.out=100))
dfxColScl <- function(dfrm, pos=1, idx = 100)
{
scaledDF <- dfrm
for (i in 1:ncol(dfrm)) {
scaledDF[, i] <- dfrm[,i] / as.numeric(dfrm[pos, i]) * idx
}
return(scaledDF)
}
是否有一些聪明的apply 类型函数是R 的方法?
【问题讨论】: