On Nov 19, 2009, at 4:39 AM, baptiste auguie wrote:

Hi,

Try this,


d <- data.frame(a=1:4, b=3:6)

var <- "a"

mean(d[var])

I tried get() on Simpson's pasted argument without success. Assuming the OP still wanted to use only text arguments, then this approach works

dfn <- "d"

get(dfn)[var]

So get() works only on complete objects and not on expressions that include extraction operations.



## or, if you are not aware of
## fortune("parse")

xx <- paste("d$",var, sep="")
mean(eval(parse(text=xx)))

HTH,

baptiste




2009/11/19 William Simpson <william.a.simp...@gmail.com>:
I have quite a complicated problem that's hard to describe.

Suppose I have a dataframe d. I want to access the vector d$var, where var is one of the variables in d. Just take for granted that there's a
good reason I want to do this as follows.

var<-"DeOxyA"
xx<-paste("d$",var, sep="")
mean(xx)
[1] NA
Warning message:
In mean.default(xx) : argument is not numeric or logical: returning NA

mean(d$DeOxyA)
[1] 21.98904

How can I convert xx so I can do mean(xx), for example? Currently xx
is a character, not a variable.
as.numeric doesn't do it. I want R to see
mean(DeOxyA), not
mean("DeOxyA")

I'm stumped.

Thanks very much for any help.

Bill

______________________________________________
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.


______________________________________________
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.

David Winsemius, MD
Heritage Laboratories
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.

Reply via email to