[R] Multiple Multivariate regression in R with 50 independent variables
peter dalgaard
pdalgd at gmail.com
Fri Apr 19 15:08:07 CEST 2013
But that's not how to specify a multivariate regression. It's a univariate regression with a huge sum on the left hand side.
On Apr 19, 2013, at 13:51 , Nilesh Gupta wrote:
> I used this link
> http://r.789695.n4.nabble.com/model-frame-and-formula-mismatch-in-model-matrix-td4664093.html
>
> Regards
>
> The woods are lovely, dark and deep
> But I have promises to keep
> And miles before I go to sleep
> And miles before I go to sleep
> -----
>
>
> On Fri, Apr 19, 2013 at 2:19 PM, David Winsemius <dwinsemius at comcast.net> wrote:
>
> On Apr 19, 2013, at 12:40 AM, Nilesh Gupta wrote:
>
> > lm() does not accomodate more than 50 independent variables
>
> What is your source for this misinformation?
>
> > dat <- as.data.frame(matrix(rnorm(51000), ncol=51) )
> > names(dat)
> [1] "V1" "V2" "V3" "V4" "V5" "V6" "V7" "V8" "V9" "V10" "V11" "V12" "V13" "V14" "V15" "V16" "V17" "V18"
> [19] "V19" "V20" "V21" "V22" "V23" "V24" "V25" "V26" "V27" "V28" "V29" "V30" "V31" "V32" "V33" "V34" "V35" "V36"
> [37] "V37" "V38" "V39" "V40" "V41" "V42" "V43" "V44" "V45" "V46" "V47" "V48" "V49" "V50" "V51"
> > lm(V1 ~ ., dat=dat)
>
> Call:
> lm(formula = V1 ~ ., data = dat)
>
> Coefficients:
> (Intercept) V2 V3 V4 V5 V6 V7 V8
> -0.0089517 -0.0427225 -0.0754946 -0.0002903 -0.0083482 0.0324383 -0.0194980 -0.0151008
> V9 V10 V11 V12 V13 V14 V15 V16
> 0.0255324 -0.0167399 0.0476841 -0.0222229 0.0720990 -0.0174327 -0.0104261 0.0024625
> V17 V18 V19 V20 V21 V22 V23 V24
> -0.0086276 -0.0274867 -0.0345897 0.0209116 0.0368201 -0.0027364 0.0090916 0.0198854
> V25 V26 V27 V28 V29 V30 V31 V32
> -0.0083732 -0.0216937 0.0586361 -0.0530041 0.0402765 0.0073514 0.0295976 -0.0641553
> V33 V34 V35 V36 V37 V38 V39 V40
> 0.0491071 -0.0261259 0.0364740 0.0070261 -0.0159851 -0.0373357 0.0506756 -0.0383495
> V41 V42 V43 V44 V45 V46 V47 V48
> 0.0054945 0.0089468 -0.0050151 -0.0184369 0.0019926 -0.0177631 0.0282828 0.0353523
> V49 V50 V51
> -0.0382634 0.0545654 0.0101398
>
> > dat <- as.data.frame(matrix(rnorm(101000), ncol=101) )
> > lm(V1 ~ ., dat=dat)
>
> Call:
> lm(formula = V1 ~ ., data = dat)
>
> Coefficients:
> (Intercept) V2 V3 V4 V5 V6 V7 V8
> 0.021065 -0.015988 -0.008273 0.049849 0.014874 0.012352 -0.054584 0.004542
> V9 V10 V11 V12 V13 V14 V15 V16
> -0.017186 0.018006 -0.009707 -0.007382 0.044886 -0.051122 -0.026910 -0.048929
> V17 V18 V19 V20 V21 V22 V23 V24
> -0.008129 0.022129 -0.063525 0.026683 0.013424 -0.010145 -0.046046 0.024025
> V25 V26 V27 V28 V29 V30 V31 V32
> -0.003529 -0.038270 0.043657 0.049855 0.010691 0.041217 -0.012596 0.018302
> V33 V34 V35 V36 V37 V38 V39 V40
> 0.040225 -0.012751 -0.062677 -0.002810 -0.002574 -0.024137 0.021324 -0.041520
> V41 V42 V43 V44 V45 V46 V47 V48
> -0.076482 0.009063 0.067097 -0.042554 -0.013789 0.002865 0.017325 -0.076860
> V49 V50 V51 V52 V53 V54 V55 V56
> -0.007003 -0.007315 0.030270 0.022066 -0.002224 -0.056534 0.013705 -0.003609
> V57 V58 V59 V60 V61 V62 V63 V64
> -0.044580 -0.037543 0.015745 0.035250 -0.017117 0.072470 0.004398 -0.015923
> V65 V66 V67 V68 V69 V70 V71 V72
> 0.012864 -0.062752 -0.038437 -0.019586 0.019871 -0.068398 -0.111778 0.021416
> V73 V74 V75 V76 V77 V78 V79 V80
> 0.036849 -0.009103 0.037790 0.021883 -0.034990 -0.014917 -0.003854 0.001760
> V81 V82 V83 V84 V85 V86 V87 V88
> -0.001812 0.003942 0.021810 -0.013984 -0.030446 0.049187 0.008392 0.026965
> V89 V90 V91 V92 V93 V94 V95 V96
> 0.057301 0.004190 0.055505 -0.046006 -0.019080 -0.098889 -0.010891 -0.002729
> V97 V98 V99 V100 V101
> 0.024939 -0.029847 0.063578 -0.061667 -0.022163
>
> > system.time( lm(V1 ~ ., dat=dat) ) # with the 101 column dataframe
> user system elapsed
> 0.060 0.008 0.076
>
> Sorry to give you such a Frost-y reception, but you are being somewhat ... what's the right word... sleepy?
>
> --
> David.
>
>
> >
> > The woods are lovely, dark and deep
> > But I have promises to keep
> > And miles before I go to sleep
> > And miles before I go to sleep
> > -----
> >
> >
> > On Fri, Apr 19, 2013 at 12:26 PM, peter dalgaard <pdalgd at gmail.com> wrote:
> >
> >>
> >> On Apr 18, 2013, at 21:24 , Nilesh Gupta wrote:
> >>
> >>> Hello all
> >>>
> >>> Is there a method/package in R in which I can do regressions for more
> >> than
> >>> 50 independent variables ?
> >>
> >> What's wrong with lm() et al.?
> >>
> >> --
>
>
> David Winsemius
> Alameda, CA, USA
>
> ______________________________________________
> 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.
>
--
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-help
mailing list