0
是否可以使用某种形式的数组并发送它以逐行应用?我到目前为止尝试过的所有内容都会导致错误“不正确的维数”,这是其他人在这里遇到的一个常见错误,但我无法找到以及如何在下面的TestFunc2中尝试执行的示例。使用多列数据生成单个数字输出
require(quantmod)
getSymbols("SPY",src="yahoo")
nData = 10
data = ClCl(SPY)[1:nData,]
TestFunc1 = function(d1, x1, y1){
res1 = (d1 + 2*x1)^2 + y1
}
#X1 is a constant - this works
X1 = .2
Y1 = 1
tmp1 = apply(data, 1, TestFunc1, X1, Y1)
Result1 = cbind(data, X1, Y1, tmp2)
TestFunc2 = function(z1, y1){
d1 = z1[,1]
x1 = z1[,2]
res2 = (d1 + 2*x1)^2 + y1
}
X2 = xts(1:nData, order.by=index(data))
Z1 = cbind(data, X2)
tmp2 = apply(Z1, 1, TestFunc2, Y1)
Result2 = cbind(data, X2, Y1, tmp2)
谢谢克里斯托弗。它确实有效,但我确实没有看到阅读适用的帮助页面。我很感激帮助。 – LGTrader 2014-11-01 04:15:12