Upon reading it yesterday, it appeared as it would have required some
serious testing and there was no data on which to do any work. You
were clearly not taking the time to isolate the problem and construct
a dataset. But who knows? When you say "What I want to do is. ... ,I
would like the name of the list to be created in the loop too", maybe
all you needed was to be pointed to was:
?assign
But if that were the case, then you lost most of your audience along
the way with a bunch of unneeded and obscure code.
--
David.
On Feb 1, 2010, at 10:45 AM, Ivan Calandra wrote:
Hi everybody,
I'm kind of surprised that I didn't get any answer to my question...
Is it not interesting? Is it not well explained? Am I doing
something wrong? Was it lost in the hundreds of other emails during
the weekend?
I hope it is because of my last guess. So I'll just send the email
again (see below).
I really need some help on this matter.
Thanks in advance.
To run some statistical tests from the package WRS (from Rand R
Wilcox), I need to store my data in a list, which fac2list() from
this package does very well.
But I would like to do it in a loop for each numerical variable. It
would be easier!
For now, I have the loop with the extraction and storage into a
list. The code is below.
-----
# Defines variables
file <- ssfamed #data file object to be used
spec <- "cotau" #species selection
bone <- "tx" #tooth row selection
cat <- 3 #column indexe to be
used as categorical variable
seq.num <- c(seq(7,21,1)) #column indexes to be used as
numerical variables
# Select data for species and tooth row
select <- file[file$SPECSHOR==spec & file$BONE==bone, ]
#Separate the data from each numeric variable in seq.num
(select[,k]) into groups from levels in select[cat] and store into
list mode.
for(i in 1:length(seq.num)) {
k <- seq.num[i]
name.num <- names(file)[k]
TO_POS_Asfc.median_cotautx <- fac2list(select[,k], select[cat])
names(TO_POS_Asfc.median_cotautx) <- levels(factor(select[[cat]]))
}
-----
What I want to do is, instead of giving manually the name of the
list (here TO_POS_Asfc.median_cotautx), I would like the name of
the list to be created in the loop too, so that it looks like:
select[[cat]]_name.num_specbone. In the code it would look like:
-----
select[[cat]]_name.num_specbone <- fac2list(select[,k],
select[cat]) #create the list from the values of these variables
at each iteration of the loop
names(select[[cat]]_name.num_specbone) <-
levels(factor(select[[cat]]))
-----
I thought about using paste(), but I cannot create an object like
this.
In my small R life, I've always stored data into pre-defined
objects, I have no idea how to create an object automatically
within a loop.
Is my question clear? I hope so. I thought there might be a
function that would create an object where the name would come from
a string stored in an other object.
Why do I want that? Simply because I want to run several
statistical tests on each list and I would therefore like to have
standardized names for the data objects.
There might be easier ways to do what I want to, I'm open to all
suggestions but I would prefer to stay close from my idea (I would
understand better!)
______________________________________________
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.