--- Begin Message ---
For sure some smart cookie has a much better solution but this can do
the trick
dt <- as.data.frame(cbind(rnorm(1:12),rnorm(1:12)))
regs <- sapply(seq(1,9,by=4), function(x) coef(lm(dt[(x:(x+3)),1] ~
dt[(x:(x+3)),2])))
tmp <- c()
for (i in 1:ncol(regs)) {
tmp <- cbind(tmp, sapply(1:4, function(y) regs[,i]))
}
cbind(dt, t(tmp))
Cheers,
Filipe
-----Mensagem original-----
De: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org]
Em nome de Alfredo Alessandrini
Enviada em: quinta-feira, 7 de julho de 2011 11:10
Para: r-help@r-project.org
Assunto: [R] coefficients lm of data.frame
Hi,
I've a data frame like this:
> as.data.frame(cbind(rnorm(1:12),rnorm(1:12)))
V1 V2
1 -1.30849402 -0.52094136
2 0.96157302 0.76217871
3 -0.44223351 -1.72630871
4 -0.10432438 -1.04732942
5 -1.38748914 0.95877311
6 -0.63965975 0.65494811
7 -0.24058318 0.19496830
8 -0.11172988 1.01680655
9 0.08065333 0.22168589
10 0.25196536 0.84619914
11 -0.59536986 -0.08243074
12 1.09115054 0.49822977
I need to add two columns as result of the fitting of linear model
based on a preset numbers of row.
For example if I need to compute a lm each 4 rows, I get the
data.frame below, where intercept1 and coeff1 is obtained from V1 and
V2 of first 4 rows lm(V2 ~ V1), and so on...
V1 V2 "intercept" "coeff"
1 0.6931694 0.05797771 intercept1 coeff1
2 -1.4069786 0.23983307 intercept1 coeff1
3 -1.4901708 0.45079601 intercept1 coeff1
4 0.2215696 1.87888983 intercept1 coeff1
5 -0.5828106 0.90376622 intercept2 coeff2
6 -0.7607985 0.71419938 intercept2 coeff2
7 0.1273495 0.06199312 intercept2 coeff2
8 -0.5612245 1.02223971 intercept2 coeff2
9 -0.1439178 0.92135354 intercept3 coeff3
10 -1.1011662 0.02894731 intercept3 coeff3
11 -0.4098710 -0.01231322 intercept3 coeff3
12 1.1511811 -0.63923140 intercept3 coeff3
Thanks in advance,
Alfredo
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--- End Message ---
"This message and its attachments may contain confidential and/or privileged
information. If you are not the addressee, please, advise the sender
immediately by replying to the e-mail and delete this message."
"Este mensaje y sus anexos pueden contener información confidencial o
privilegiada. Si ha recibido este e-mail por error por favor bórrelo y envíe un
mensaje al remitente."
"Esta mensagem e seus anexos podem conter informação confidencial ou
privilegiada. Caso não seja o destinatário, solicitamos a imediata notificação
ao remetente e exclusão da mensagem."
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.