modelling random structure in lmer and nlme:lme Using lmer package I can differently  model each random factor of the model.
For instance,  in this case
lm<-lmer(var~cond +(1|blocks) + (1+cond|sub) , data=data)

I set random intercept for blocks and random intercept and slope for sub. 
How can I do the same using lme? I mean, how can I  model in a different way each random factor of the model using lme?
Thank you
BF
 A: First of all, the nlme package is not structured to handle non-nested random effects. However if you really wish to create a non-nested random effects model, you need to specify a higher level grouping factor of value one for your random effects, and then create a block diagonal variance-covariance of multiple identity matrices for each random effect. 
Unfortunately, I've only seen this kind of "hack" formulation with an intercept only random effects and the computation time will be much longer. Furthermore, the random effects from the lme output cannot be interpreted as you would from the lmer output. The lme output does not give you values for the random effect intercepts. 
There's a couple of ways to specify the random effects variance-covariance matrices. You can use a groupedData object or unit auxiliary variables. I'm only familiar with the auxiliary variable method which I'll use in this next example.



*

*Auxiliary variables method


Were using a dataset in the nlmeU package. First, you create auxiliary variables with values of 1 for each random effect variable. Then, you specify the random effect as a list of identity matrices created for each random effect.
library(nlme)
library(nlmeU)
fcat1 <- within(fcat, one1 <- one2 <- 1L) # This creates the unit auxiliary variables.
lme_model <- lme(scorec ~ 1, 
             random = list(one1 = pdIdent(~target-1), one2 = pdIdent(~id-1)), 
             data = fcat1)

Which gives us the results for the fixed effect
Fixed effects: scorec ~ 1 
               Value Std.Error   DF  t-value p-value
(Intercept) 3.903319 0.4255343 4850 9.172748       0

Compared to the lmer model
library(lme4)
lmer_model <- lmer(scorec ~ 1 + (1|target) + (1|id), data = fcat1)
summary(lmer_model)

With 
Fixed effects:
            Estimate Std. Error t value
(Intercept)   3.9033     0.4255   9.173


To answer your question, the best formulation to my knowledge you can do for your multiple non-nested effects is intercepts only. After creating auxiliary variables in your data set your model formulation would look like
lm<-lmer(var~cond, data=data, random=list(one1=pdIdent(~blocks-1), one2=pdIdent(~sub-1))

Before using this method though, you need to ask yourself if the random effects in my model are truly non-nested. If they are, why use the nlme package? The main goal of the nlme package is to model nested random effects and their special variance-covariance structure.

Sources :
Chapter 19 of Galecki, Burzykowski  "Linear
Mixed-Effects Models Using R: Step-by-Step Approach"
https://stat.ethz.ch/pipermail/r-help/2002-September/025067.html
R help mailing list for a similar question. This link has more info on using the groupedData for representing the random effects. I'm not posting the proposed solution since I don't have a working example.
