[R] How to block data across multiple columns?

A Singh Aditi.Singh at bristol.ac.uk
Fri Sep 11 20:34:31 CEST 2009


Dear all,

Does anyone have any suggestions on how to block multiple columns of data 
one at a time in the midst of an analysis, having specified the blocking 
variable?

I am running a random effects model using lmer, and my data set has 
multiple columns.
Individuals in the study are grouped into 60 families- which is the 
blocking factor.
The random effects are markers (labeled Pxlyy below) that have two levels- 
1 (presence) or 0 (absence).

I need to estimate Variance Components for 'peg.no' (family wise, which is 
why this is the blocking factor), explained by each PxLyy, and by 'family' 
as well.

I have managed to run the lmer model for the first marker column (P1L55), 
and have been able to block it according to 'family' as follows:

vc<-read.table("P:\\R\\Testvcomp10.txt",header=T)
attach(vc)
family<-factor(family)
colms<-(vc)[4:13] ## these are the marker columns
lapply(colms,factor)
library(lme4)

for (f in levels(family)) {
print("Family")
print(f)
{
t<- vc [ family == f, ]
try(lmer<-fit(peg.no~1 + (1|P1L55) + (1|family), data=t, 
na.action=na.exclude))
print(summary(fit))
}}


However I need to do this for 10 PxLyy columns simultaneously, so that I 
have 60 families * 10 markers= 600 runs of the model.

To do this I tried,

for (c in 1:length (colms))
{
for (f in levels (family))
{
print("Marker")
print(c)
print ("Family")
print(f)

{
t<- vc[family == f,] ## this is where I lose the plot

try(fit<-lmer(peg.no~1 + (1|c)+ (1|family), data=t, na.action=na.exclude))
print(summary(fit))
}}}


This however, doesn't run at all after the first two loops.
I cannot figure out how to tell it to block each one of 10 columns in turn. 
This works for one marker, but not more in the same run.

Any suggestions please?

Thanks a lot,
Aditi



Data files at:

<http://www.4shared.com/file/131980362/460bdafe/Testvcomp10.html> (excel)
http://www.4shared.com/file/131980512/dc7308b/Testvcomp10.html
(txt)


---------------------
A Singh
Aditi.Singh at bristol.ac.uk
School of Biological Sciences
University of Bristol




More information about the R-help mailing list