W tej chwili mam combn z wbudowanej irysa zestawu danych. Do tej pory zostałem poprowadzony, aby móc znaleźć współczynnik lm() pary wartości.R: jak wykonać bardziej złożone obliczenia z zestawu danych?
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
Jednakże, I jak przejść kilka kroków dalej i wykorzystać współczynnik z lm() do stosowania w dalszych obliczeniach. Chciałbym zrobić coś takiego:
Coefficient <- lm(formula=x, data=iris)$coefficients[2]
Spread <- myPairs[1] - coefficient*myPairs[2]
library(tseries)
adf.test(Spread)
Sama procedura jest dość prosta, ale nie udało się znaleźć sposób, aby to zrobić dla każdego combn w zbiorze danych. (Jako przykład, test adf.test nie zostałby zastosowany do takich danych, ale używam tylko zestawu danych tęczówki do demonstracji). Zastanawiam się, czy byłoby lepiej napisać pętlę do takiej procedury?
Po prostu chciałem mieć jasność co do tego, ek. Potrzebujesz rozwiązania, które zapewni wynik (w szczególności ostatnie 4 linie) dla każdej kombinacji bez konieczności użycia pętli. Czy to prawda? –
Jestem trochę zdezorientowany przez twój drugi blok. Czy chcesz obliczyć spread dla wszystkich par? Co dzieje się na końcu ('myPairs [6] - coefficient *' ???)? – TARehman
@AnalyticalMonk Tak, to prawda, ale jeśli pętla jest bardziej wydajna, nie miałbym nic przeciwko napisaniu tego. –