[R LM

2016-01-31 48 views
0

我希望能找到雙方的一些指導如何對代碼級和R中如何求解的水平我有一個簡單的數據幀如下:[R LM

str(pf) 
    'data.frame': 1536 obs of 4 variables: 
    $ dt : POSIXct 
    $ pfRet : num 
    $ Src : Factor w/6 Levels "ALPA" , "OMEGA", "GAMMA" , .. 
    $ ret : num 

我只是想看到lm(pfRet〜ret)的6個不同因素中的每一個,並比較它們。我希望能夠得到顯示按照每個因子水平的lm的p值排序的輸出。對於每個因素(ALPHA,OMEGA,GAMA等),我試圖提出這個問題,哪一個最能解釋pfRet和ret之間的關係?

從編程的角度來看,可能有一種方法可以獲得6個因子水平的向量,然後在幀上應用lm。但我無法讓它正常工作。我試圖沿着線的東西:

GenLm = function(x) { 
    y=pf[which[(pf$Src==x,)] 
    return(lm(y$pfRet ~ y$ret)) } 

testList = data.frame(Src = as.character(unique(pf$Src))) 

testList$lm = apply( ... ??) 

我試過申請,ddply,等我只是不能讓它進入,其中可以產生輸出,顯示每個變量的擬合一個簡單的格式的各種組合。

謝謝,Josh 從更高的層面來看,這是正確的方法嗎?這確實是R用戶一直處理的問題。

+1

參見例如'nlme :: lmList' –

+0

也可以看到使用'dplyr'的結果,例如http://stackoverflow.com/questions/24376765/dplyrdo-requires-named-function –

回答

1

lmList,在nlmelme4包,將做到這一點的開箱(他們基本相當,不同的是lme4一個可以處理GLMS以及線性模型,但可能會略有一些不太可靠例)

例如:

library("lme4") 
mm <- lmList(Reaction~Days|Subject,sleepstudy) 
summary(mm) 
+0

夥計們,非常感謝。這非常有幫助。在如何解決它的方案上。 Ty。 – JoshK

+0

Ty。在概念方面,正確的方法是隻播放數據並進行多重回歸?如果你有兩個因素,而且它們非常接近,那麼它會給兩個獨立變量賦予一個部分權重?例如,如果你正在迴歸'taxi.fare〜miles.traveled + car.time',那麼假設行駛里程是殘差和p值最合適的。但是,time.in.car可能會接近。那麼正確的方法是什麼?多重回歸會是做這件事的正確方法嗎?還是應該按照我的方式來做,每個變量都有獨立的迴歸? – JoshK