Прямо сейчас, у меня есть гребенка из встроенного набора диафрагмы. До сих пор я руководствовался тем, что смог найти коэффициент lm() пары значений.R: как выполнить более сложные вычисления из гребенки набора данных?
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
Однако, я хотел бы пойти на несколько шагов вперед и использовать коэффициент от ого(), которые будут использоваться в дальнейших расчетах. Я хотел бы сделать что-то вроде этого:
Coefficient <- lm(formula=x, data=iris)$coefficients[2]
Spread <- myPairs[1] - coefficient*myPairs[2]
library(tseries)
adf.test(Spread)
Сама процедура достаточно проста, но я не смог найти способ сделать это для каждого combn в наборе данных. (В качестве оповещения adf.test не будет применяться к таким данным, но я просто использую набор данных диафрагмы для демонстрации). Мне интересно, было бы лучше написать цикл для такой процедуры?
Просто хотел быть ясным о том, что вы ек. Вам нужно решение, которое даст результат (в частности, последние 4 строки) для каждой комбинации без использования цикла. Это правильно? –
Я немного смущен вашим вторым блоком. Вы хотите рассчитать распространение для всех пар? Что происходит в конце ('myPairs [6] - коэффициент *' ???)? – TARehman
@ AnalyticalMonk Да, это правильно, хотя если цикл более эффективен, я бы не прочь написать его. –