2016-01-27 126 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]])