[R] Using 'field names' of a data.frame in a function
Polwart Calum (County Durham and Darlington NHS Foundation Trust)
calum.polwart at nhs.net
Thu Aug 6 21:50:27 CEST 2009
I may be doing this wrong! but I have a function which I have simplified a lot below. I want to pass some 'field names' of a data-frame to the function for it to then do some manipulation of.
Here's my code:
#build a simple dataset
mydataset = data.frame ( ages=c('40-49','40-49','40-49','30-39','50-59','50-59','60-69','50-59'), sex = c("M","F","F","M","F","F","M","M"))
#build a simple function
myfunc <- function (categories) {
table (categories)
}
#call the function
myfunc (c(mydataset$ages, mydataset$sex))
===
My output I am getting is:
categories
1 2 3 4
5 7 3 1
But what I'm expecting is:
table (mydataset$ages, mydataset$sex)
F M
30-39 0 1
40-49 2 1
50-59 2 1
60-69 0 1
Calling the function as: myfunc ("mydataset$ages, mydataset$sex") doesn't work either and nor does myfunc (c("mydataset$ages", "mydataset$sex"))
Now in the simple version above I could make the function (category1, category2) and then call table (category1, category2) - but what if I might have a category 3, category 4 etc... How can I pass the dataset name to the function without it trying to actually pass the data to the function? I've also tried paste - but perhaps I'm mis-using it?
Many thanks for help in advance
********************************************************************************************************************
This message may contain confidential information. If yo...{{dropped:21}}
More information about the R-help
mailing list