[R] Calculating & plotting a linear regression between two correlated variables

Joshua Wiley jwiley.psych at gmail.com
Mon Jan 23 07:35:06 CET 2012


Hi Julie,

Mixed effects models are typically used to allow for correlations
between observations of the outcome variable---the fact that you are
trying to model dA ~ dCOM rather assumes you expect some sort of
association between the two.  It is not exactly clear what you want to
deal with using a correlation structure, but it seems to me your model
is this:

dA = a * (dA + dB + dC + dE + dF) + b

which is a little circular because dA is explaining itself.  Without
knowing more, I would think about something like:

dA = a1 * dB + a2 * dC + a3 * dE + a4 * dF + b

if you want a single slope for all a1 - a4 effects, you could move to
a structural equation modelling framework and impose the constraint
that:

a1 = a2 = a3 = a4

in the parameter estimation.

Cheers,

Josh

On Sun, Jan 22, 2012 at 12:31 PM, JulieV <sharkette002 at hotmail.com> wrote:
> Hi,
> I have a Community (COM) composed of 6 species: A, B, C, D, E & F.
> The density of my Community is thus (Eq.1): dCOM = dA + dB + dC + dE + dF
>
> I would like to calculate and plot a linear regression between the density
> of each of my species and the density of the whole community (illustrating
> how the density of each species varies with variations of the whole
> community).
> For example, I would like to plot dA = a * dCOM + b, with a and b the slope
> and intercept of the regression.
>
> The problem is that dA and dCOM are correlated because dA contributes to
> values of dCOM (see Eq.1 above), and thus I'm probably not allowed to use a
> "simple" linear regression (because parametric statistics do not allow for
> correlated observations).
>
> >From what I red (eg, www.ats.ucla.edu/stat/r/faq/spatial_regression.htm),
> Linear Mixed Models allow for correlated observations by adding a correction
> to the values. The webpage also says that  we can use the correlation option
> in the lme function (nlme package) to find the type of correction to be
> used, but I can’t figure out how to do this for my dataset.
>
> Can someone help me please ?
> You will find an example of my dataset below (density of species A [dA] and
> density of the whole community [dCOM]) and my R script.
>
>
> Example from my dataset:
> dA      dCOM
> 0.611   0.73
> 0.474   0.669
> 0.203   0.388
> 0.011   0.213
> 0.407   0.722
> 0.148   0.437
> 0.084   0.281
> 0       0.054
> 0.402   0.93
> 0.044   0.285
> 0.011   0.147
> 0       0.091
> 0.547   0.767
> 0.559   0.699
> 0.321   0.441
> 0.084   0.262
> 0.428   0.761
> 0.234   0.398
> 0.019   0.191
> 0       0.053
> 0.302   0.509
> 0.06    0.213
> 0.045   0.184
> 0.033   0.118
> 0.374   0.585
> 0.256   0.5
> 0.22    0.401
> 0.136   0.275
> 0.503   0.684
> 0.48    0.617
> 0.257   0.387
> 0.038   0.159
> 0.382   0.611
> 0.192   0.393
> 0.047   0.243
> 0.036   0.188
>
> R script for this example:
>
> dummy <- rep(1,36)  #  grouping variable in our data
> model1 <- lme(fixed = dA ~ dCOM, data = bb1, random = ~ 1 | dCOM/dummy,
> correlation= ?,method = "ML")
>
> Thank you very much.
>
> Julie.
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Calculating-plotting-a-linear-regression-between-two-correlated-variables-tp4319051p4319051.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
Programmer Analyst II, Statistical Consulting Group
University of California, Los Angeles
https://joshuawiley.com/



More information about the R-help mailing list