On May 5, 2011, at 10:01 AM, dereksloan wrote:
Your code may be untested but it works - also helping me slowly to
start
understanding how to write functions. Thank you.
However I still have difficulty. I also have some categorical
variables to
analyse by age & hiv status - i.e. my dataset expands to (for
example);
id sex hiv age famsize bmi resprate smoker alcohol
1 M Pos 23 2 16 15 Y
Y
2 F Neg 24 5 18 14 Y
Y
3 F Pos 56 14 23 24 Y
N
4 F Pos 67 3 33 31 N
N
5 M Neg 34 2 21 23 N
N
Using the template for the code you sent me I thought I could
analyse the
categorical variables by sex & hiv status using a chiq-squared test;
Long-hand this would be;
chisq.test(smoker,sex)
chisq.test(alcohol,sex)
chisq.test(smoker,hiv)
chisq.test(alcohol,hiv)
Again I wanted to use a function to loop automate it and thought I
could
write;
categ<-c(smoker,alcohol)
group.name<-c(sex,hiv)
bl.chisq<-function(categ,group.name,<dataframe name>){
lapply(categ,
function(y){
form2<-as.formula(paste(y,group.name))
I haven't tested it but I suspect you failed to note that Eichner used
sep="~" in his paste argument to as.formula().
chisq.test(form2,<dataframe name>)
})
}
bl.chisq(categ,group.name,<data frame name>)
but I get an error message:
Error in parse(text = x) : unexpected symbol in "smoker sex"
What is wrong with the code? Is is because the wilcox.test is a
formula
(with a ~ symbol for modelling) whilst the chisq.test simply
requires me to
list raw data? If so how can I change my code to automate the
chisq.test in
the same way I did for the wilcox.test?
Many thanks for any help!
Derek
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@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.