From ?glm:
formula: a symbolic description of the model to be fit. The details of
model specification are given below.
which could be clearer. It needs to be a object of type 'formula'.
I believe as.formula(modelstructure[i]) will do what you want (but your
posting has come out rather awkwardly laid out in double spacing).
On Thu, 11 Jan 2007, Indermaur Lukas wrote:
Hello
I want to batch job the calculation of many GLM-models, extract some values and
store them in a file. Almost everything in the script below works (read file,
extract values and write them to file) except I fail in indexing the GLM with
the modelstructure it should run. Running GLM's conventionally is no problem.
Conventionally a GLM is calculated as:
--------------------------------------
glm(ZlogHRS ~ ZRi+ZE+ZPROX_MN+ZED+ZAlwd+ZT2+ZW+ZN+Sex+y, family = gaussian,
data=t.data)
(just a note: dependent variable is ZlogHRS, while the others are indepent
variables)
Desired way: sequentially run GLM
---------------------------------
I want R to take the model structure to take from a vector called
"modelstructure" and paste it into the GLM like:
glm(modelstructure[i], family = gaussian, data=t.data).
It would considerably ease my workload if there is a solution to the indexing
problem within a GLM. I appreciate any hint.
Best regards
Lukas
p.s.
my R skills are rather poor
----------------------------------------START
R-CODE-----------------------------------
# Read file
t.url <-
"C://HR_calculations/2005_2006/HR_SIZE/Kandidatenmodelle_Berechnung/inputfiles/"
t.tuti <- read.table(paste(t.url, "All_animals.txt", sep=""),header=T)
collect.results <- function(x) {
#resets vectors which will be filled
i <- 0
AICA <- NA;
#put models names hierarchically in vector
modelnames <- c("1=global", "2=biotic1", "3=biotic2", "4=abiotic") #keep track
of changes in model names and number
for (i in 1:length(modelnames))
#model structure of the four models given for all models to run
#global
modelstructure <- c(
"ZlogHRS ~ ZRi+ZE+ZPROX_MN+ZED+ZAlwd+ZT2+ZW+ZN+Sex+y",
#biotic1
"ZlogHRS ~ ZRi",
#biotic2
"ZlogHRS ~ ZPROX_MN",
#abiotic
"ZlogHRS ~ ZE")
ts.model <- glm(modelstructure[i], family = gaussian, data=t.data)
# Extracts some mode results
n[i] <- length(resid(ts.model))
AICA[i] <- AIC(ts.model)
}
#Writes results to data file
x = data.frame(
modelnames, n, AICA)
write.table(x, paste(t.url, file="Results.txt"), sep="\t", quote=F)
----------------------------------------END
R-CODE-----------------------------------
°°°
Lukas Indermaur, PhD student
eawag / Swiss Federal Institute of Aquatic Science and Technology
ECO - Department of Aquatic Ecology
Überlandstrasse 133
CH-8600 Dübendorf
Switzerland
Phone: +41 (0) 71 220 38 25
Fax : +41 (0) 44 823 53 15
Email: [EMAIL PROTECTED]
www.lukasindermaur.ch
______________________________________________
[email protected] 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.
--
Brian D. Ripley, [EMAIL PROTECTED]
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
[email protected] 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.