[R] unquoting
Gabor Grothendieck
ggrothendieck at gmail.com
Sun Aug 20 13:16:46 CEST 2006
Try these
get(names(AF)[2])
AF["Second"] # this one different than the rest
AF[["Second"]]
AF[, "Second"]
AF$Second
On 8/20/06, Murray Jorgensen <maj at waikato.ac.nz> wrote:
> I would like a function to strip quotes off character strings. I should
> work like this:
>
> > A <- matrix(1:6, nrow = 2, ncol=3)
> > AF <- as.data.frame(A)
> > names(AF) <- c("First","Second","Third")
> > AF
> First Second Third
> 1 1 3 5
> 2 2 4 6
> > names(AF)[2]
> [1] "Second"
> > attach(AF)
> > unquote(names(AF)[2])
> [1] 3 4
>
> Of course what I actually get is
>
> Error: couldn't find function "unquote"
>
> The reason that I want to do this is that I have a frame with a rather
> large number of variables and I would like to loop over the names and
> print out various descriptive summaries of the variable's distribution.
>
> OK, OK, I could just go
>
> > AF[,2]
> [1] 3 4
>
> but once I thought of unquoting I have some sort of inner need to know
> how to do it!
Try:
sapply(names(AF), function(nm) mean(AF[nm]))
# same as previous but names a bit nicer
sapply(names(AF), function(nm) mean(AF[nm]), USE.NAMES = FALSE)
sapply(AF, mean)
colMeans(AF)
>
> Cheers,
>
> Murray
> --
> Dr Murray Jorgensen http://www.stats.waikato.ac.nz/Staff/maj.html
> Department of Statistics, University of Waikato, Hamilton, New Zealand
> Email: maj at waikato.ac.nz Fax 7 838 4155
> Phone +64 7 838 4773 wk Home +64 7 825 0441 Mobile 021 1395 862
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
More information about the R-help
mailing list