Sono nuovo a R e sto solo imparando le funzioni apply
e come funzionano. Voglio semplicemente estrarre i coefficienti da un valore lm
adattandoli a una variabile x per colore e marchio del prodotto per diversi anni.Applicazione per funzione a lm()
So che posso creare un ciclo for e impostare i dati per anno modello e adattarlo, ma penso che il suo tempo inizi a utilizzare più funzioni incorporate, quindi voglio essere in grado di farlo con la funzione o una delle funzioni di applicazione. Ecco cosa stavo pensando.
#some made up data
x<-rnorm(50,13400,1200)
color<-sample(factor(c("Red","Black","Blue","Green","White")),50,replace=T)
year<-sample(factor(2006:2012),50,replace=T)
brand<-sample(factor(c("A","B","C","D")),50,replace=T)
d<-data.frame(x,color,year,brand)
#now I want to fit the model lm(x~color+brand) for each year level
#this is what I was thinking...
tmp<-with(d,by(x,year,function(y) lm(x~color,data=y)))
sapply(tmp,coef)
Error in eval (predvars, dati, env): numerico 'amb' arg non di lunghezza
sto basando questa via l'exapmle R ha dato quando sono entrato help(by)
si stia mescolando per diversi paradigmi per la creazione di ambienti:. Il 'with'-paradigma e le' data = Inoltre, la variabile d $ x aveva 50 valori distinti, quindi avresti passato i dati a riga singola a lm(). Sembra che mplourde sia stato in grado di discernere il tuo intento, quindi eliminerò questo commento un po 'dopo di te accetta la sua risposta –
ti suggerisco ma per "marchio" solo ... e tienilo semplice ... forse poi capirò come funziona – moldovean