2016-01-27 125 views
-1

減少數據幀我想,以減少下列數據幀:通過線性迴歸

Subject, Run, Condition, DV 
1, 1, 1, 123 
1, 1, 2, 456 
1, 1, 3, 789 
1, 2, 1, 123 
1, 2, 2, 456 
1, 2, 3, 789 
2, 1, 1, 123 
2, 1, 2, 456 
2, 1, 3, 789 
2, 2, 1, 123 
2, 2, 2, 456 
2, 2, 3, 789 

爲了這個數據幀:

Subject, Run, coeff(lm(DV ~ Condition)) 
1, 1, ??? 
1, 2, ??? 
2, 1, ??? 
2, 2, ??? 

對如何處理這個任何想法?

+3

請看看[最小工作示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great -r重現-例子)。例如,請包含我們可以輕鬆再現數據的方式。 – David

+0

@David:數據複製並不是這裏的主要問題:'read.table(sep =「,」,header = TRUE,text =「...」)'訣竅。我真的想知道0.9從哪裏來。 @fladd:你已經試過了什麼? – krlmlr

+2

從這樣的迴歸可以得到兩個值作爲係數。爲什麼在你想要的輸出中只有一列是係數?請編輯你的問題! – jogo

回答

0

你應該使用do而不是summarize

df %>% group_by(Subject, Run) %>% 
    do(lm = lm(DV ~ Condition,data=.)) %>% 
    summarize(Subject=Subject, 
      Run=Run, 
      Coef=coef(lm)[[2]])