现在,我有一个来自内置数据集 iris 的组合。到目前为止,我已经被引导能够找到这对值的 lm() 的系数。
myPairs <- combn(names(iris[1:4]), 2)
formula <- apply(myPairs, MARGIN=2, FUN=paste, collapse="~")
model <- lapply(formula, function(x) lm(formula=x, data=iris)$coefficients[2])
model
但是,我想更进一步,并使用 lm() 中的系数用于进一步的计算。我想做这样的事情:
Coefficient <- lm(formula=x, data=iris)$coefficients[2]
Spread <- myPairs[1] - coefficient*myPairs[2]
library(tseries)
adf.test(Spread)
该过程本身很简单,但我无法为数据集中的每个组合找到一种方法。(作为旁注, adf.test 不会应用于此类数据,但我只是使用 iris 数据集进行演示)。我想知道,为这样的过程编写一个循环会更好吗?