[R] lme error message: Error in getGroups.data.frame(dataMix, groups) :

John Sorkin jsorkin at grecc.umaryland.edu
Mon Feb 28 20:51:17 CET 2011


Windows XP 
R 2.10


I am trying to run lme and get the following error:

> fitRandom <- lme(values ~ subject,
+ data=withindata)
Error in getGroups.data.frame(dataMix, groups) : 
  Invalid formula for groups

my data follows, below which is a copy of all my code


> 
> print(withindata)
   subject      values
1        1   2.3199639
2        1  -8.5795802
3        1  -4.1901241
4        1   0.4588128
5        1  16.9128232
6        1   8.9856358
7        1   1.9303254
8        1  -1.4320313
9        1 -15.4225123
10       1   5.9293529
11       2 -29.2014153
12       2  -8.9684986
13       2 -11.9062170
14       2  13.2133887
15       2   1.2491941
16       2  -8.0613768
17       2  -5.6340179
18       2   3.1916857
19       2  -7.7447932
20       2   2.2316354
21       3   0.6444938
22       3   4.6912677
23       3  20.9135073
24       3   2.1433533
25       3  -0.8057022
26       3 -13.0187979
27       3   8.9634065
28       3  13.4815344
29       3   4.6148061
30       3 -18.4781373
31       4  15.5263564
32       4  -2.1993412
33       4   5.1830260
34       4  16.2311097
35       4  -2.5781897
36       4  -3.0167290
37       4  -0.1119353
38       4   1.1983126
39       4  -8.8212143
40       4   3.8895263



my code:
library(nlme)

# Define essential constants.
# Number of subject studied.
NSubs <- 4
# Number of observations per subject.
NObs <- 10 
# Between study SD
tau <- 4 
# Within study SD.
sigma <- 8 
# END Define essential constants.

# Define between subject variation
between <- matrix(nrow=10,ncol=1)
between <- rnorm(NSubs,0,tau)
between
# END Define between subject variation.
 
# Define within subject varation.
within <- matrix(nrow=NObs*NSubs,ncol=2)
for (subject in 1:NSubs) {
  # Create a variable defining subject.
  within[c(1:NObs)+((subject-1)*NObs),1] <- subject
  # Create within subject variation.
  within[c(1:NObs)+((subject-1)*NObs),2] <- rnorm(NObs,between[subject],sigma)
}
# END Define within subject variation.

# Create a dataframe to hold values.
withindata <- data.frame(subject=within[,1],values=within[,2])
print(withindata[1:4,])

print(withindata)
fitRandom <- lme(values ~ subject,
data=withindata)
summary(fitRandom)


John David Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)

Confidentiality Statement:
This email message, including any attachments, is for th...{{dropped:6}}



More information about the R-help mailing list