Hi David,

Thanks for your answer.
But I don't really see how I can extend it with my real data.
The thing is that I have more than 3 names and 1 value for each name. Moreover, each is different from one run to another. That is why I was trying with a modification of names(). Also to be noted is that I simplified the "name" in assign(); I actually have 2 other variables that will be pasted to create the name.

Here is my code (I kept only what is important for that part):
----
library(WRS)
seq.num <- seq(7,10,1) #column (variable) indexes to be used as numerical variables

# fac2list() separates the data from file[,k] into groups from levels in file[3] and store into list mode.
for(i in 1:length(seq.num)) {
 k <- seq.num[i]
 name.num <- names(file)[k]
assign(paste(names(file)[3], name.num, sep="_"), fac2list(file[,k], file[3])) names(paste(names(file)[3], name.num, sep="_")) <- levels(factor(file[[3]])) #that line doesn't work, but I would like something in this direction
}
----

Thanks in advance for your help.
Regards,
Ivan



Le 2/1/2010 18:47, David Winsemius a écrit :

On Feb 1, 2010, at 12:33 PM, Ivan Calandra wrote:

I have a follow-up question:

I use assign() to store some value in my paste()-created object as suggested:
for (i in 1:3) {
assign(paste("object", i, sep=""), c("a", "b", "c"))
}

Then I would like to change the names of the elements of that object within the loop. Since it is all in a loop, I cannot give the name of the object manually by doing something like: names(object1) <- c("tooth", "bone", "species"). The only thing I can give to names() is paste("object", i, sep=""), which doesn't work.

Any idea of how to do it?

> for (i in paste("object", 1:3, sep="")) {
+ assign(i, c("tooth"="a", "bone"="b", "species"="c") )
+ }
> object1
  tooth    bone species
    "a"     "b"     "c"


Thanks in advance
Ivan


Le 2/1/2010 17:14, David Winsemius a écrit :
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 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