[R] Odp: coefficients lm of data.frame
Petr PIKAL
petr.pikal at precheza.cz
Thu Jul 7 16:27:26 CEST 2011
Hi
divide and conquer
Split your data frame to required portions
dat<-as.data.frame(cbind(rnorm(1:12),rnorm(1:12)))
dat.s<-split(dat, rep(1:4, each=3))
apply lm to each portion
sapply(dat.s, function(x) coef(lm(V2~V1, x)))
1 2 3 4
(Intercept) 1.21745328 -0.7783777 -0.1736094 0.1042114
V1 0.03639838 2.6203724 1.3167433 -0.2350888
Add those values to your data frame.
hint: use rep(..., each=4)
Regards
Petr
r-help-bounces at r-project.org napsal dne 07.07.2011 16:09:51:
> Alfredo Alessandrini <alfreale74 at gmail.com>
> Odeslal: r-help-bounces at r-project.org
>
> 07.07.2011 16:09
>
> Komu
>
> r-help at r-project.org
>
> Kopie
>
> Předmět
>
> [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 at 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.
More information about the R-help
mailing list