I think you are making it too hard. See if one of these is a path to
the answer you seek:
> get(dframe.vec)
V1 V2
1 1 2
#----
> n.obs <- function(x) dim(x)
> n.obs(get(dframe.vec))
[1] 1 2
#-------
> ng.obs <- function(x) dim(get(x))
> ng.obs(dframe.vec)
[1] 1 2
#-----
> ng1.obs <- function(x) dim(get(x)[1])
> ng1.obs(dframe.vec)
[1] 1 1
Best;
David Winsemius
On Dec 23, 2008, at 3:53 PM, Sean Zhang wrote:
Dear R friends:
Can someone help me with the following problem? Many thanks in
advance.
# Problem Description:
# I want to write functions which take a (character) vector of
dataframe
names as input argument.
# For example, I want to extract the number of observations from a
number of
dataframes.
# I tried the following:
nobs.fun <- function (dframe.vec)
{
nobs.vec <- array(NA,c(length(dframe.vec),1))
for (i in 1:length(dframe.vec))
{
nobs.vec[i] <- dim(dframe.vec[i])[1]
}
return(nobs.vec)
}
# To show the problem, I create a fake dataframe and store its name
(i.e.,
dframe.1)
# in a vector (i.e., dframe.vec) of length 1.
# creation of fake dataframe
dframe.1 <- as.data.frame(matrix(seq(1:2),c(1,2)))
# store the dataframe name into a vector using c() function
dframe.vec <- c("dframe.1")
# The problem is that the following line does not work
nobs.fun(dframe.vec)
# Seems to me, the problem stems from the fact that dframe.vec[1] is
intepreted by R as "dframe.vec" (note: it is quotated)
# and dim("dframe.vec")[1] gives NULL.
# Also, I realize the following line works as expected (note: dframe.
1 is
not quoted any more):
dim(dframe.1)[1]
So my question is then: how can I pass dataframe names as an input
argument
for another function
without running into the quotation mark issue above?
Any hint?
Thank you in advance.
-Sean
[[alternative HTML version deleted]]
______________________________________________
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.