for example I have data frame m as below:
m=as.data.frame(outer(1:5,6:9))
colnames(m)=c('a','b','c','d')
and I define the function
myf=function(df, colname){
suppose colname is a, then:
how can I get the column 'a'
and how to get the colname as a string, 'a'
}
Thank you!
m=as.data.frame(outer(1:5,6:9))
colnames(m)=c('a','b','c','d')
tf=function(df, col){list(mean(eval(substitute(col),df,parent.frame())),col
)}
tf(m,a) will issue error: Error in tf(m, a) : object 'a' not found
How can I replace the col as char 'a' in the function?
Thank you
Please don't post in HTML format... it messes with code examples.
Use character indexing (please read the Introduction to R... again if
necessary).
myf - function(df, colname){
df[ ,colname ]
}
colname - a
myf(m,colname)
Until you learn simple R syntax, I strongly recommend avoiding
3 matches
Mail list logo