Yes, now that you mention it, I probably overlooked this option. As a matter of fact, I did try interaction outside the split function. As he did give me the same 'list' of elements as paste, I reject it... it is only now that I realize that interaction returns a factor and that split uses the levels of the factor to order the list it creates...
Learning by mistakes. Thanks anyway for reminding me about interaction. Gabor Grothendieck a écrit : > Recall that I had suggested you try interaction in place of paste if > paste was not > what you wanted. > > On Nov 26, 2007 3:08 PM, Sébastien <[EMAIL PROTECTED]> wrote: > >> One additionnal question about a problem that I just noticed in my script: >> the list created by my split function is sorted in the increasing order and >> not in the current order of the elements of the do.call argument (see the >> results of the two last lines of the following script). I was unsuccesful in >> tweaking my split function to have a proper order... >> If there is no way to do that, I guess it comes down to a very basic >> question: how can I reorder a list ? >> >> #### >> how can I reorder the list 'mydata.split' according to >> >> a<-rep(1.5:10.5,each=2) >> b<-rep(21:30,each=2) >> cd<-101:120 >> mydata<-data.frame(a,b,cd) >> >> mydata.split <- split(mydata,do.call(paste,c(mydata[,1:2],sep = >> ":")),drop=TRUE) >> names(mydata.split) >> unique(do.call(paste,c(mydata[,1:2],sep = ":"))) >> >> #### >> >> Sebastien >> >> Gabor Grothendieck a écrit : >> >> Try this using the BOD data frame that comes with R or >> try using interaction >> in place of paste: >> >> split(BOD, do.call(paste, c(BOD, sep = ":")), >> drop=TRUE) >> >> >> On Nov 25, 2007 10:23 AM, <[EMAIL PROTECTED]> wrote: >> >> Thanks Jim and Herinque for you reply. >> >> The substitution you are both >> proposing works fine, except when a or b contains >> decimal numbers (which is >> mostly my case in a real dataset). In this case, there >> is no distinction >> between the decimal point and the one introduced by the split >> function. >> If >> the split function cannot be customized, then I guess I have to >> first >> substitute the decimal point in my dataset by e.g. a * sign and change >> it back >> to a . when the split is done... >> >> Sebastien >> >> jim holtman a écrit : >> >> >> Here is one way: >> >> >> a<-1:10 >> b<-21:30 >> mydata<-data.frame(a,b) >> mydata.split<-split(mydata,(mydata[,1:2]),drop=TRUE) >> x >> <- mydata.split >> # customize the names >> names(x) <- sapply(strsplit(names(x), >> "\\."), paste, collapse="-my >> >> character-") >> >> >> x >> >> $`1-my character-21` >> a b >> 1 1 21 >> >> $`2-my character-22` >> a b >> 2 2 22 >> >> $`3-my >> character-23` >> a b >> 3 3 23 >> ........... >> >> On Nov 24, 2007 6:15 PM, >> <[EMAIL PROTECTED]> wrote: >> >> Dear R-users, >> >> The following code splits a very simple dataframe into a >> list, each element >> >> of >> >> >> the list being one line of the dataframe. You will see that the split >> >> function >> >> >> names each element of the list by using uses the content of a and b and >> >> merging >> >> >> them with a "." character. Is there a way to customize this >> character? >> >> a<-1:10 >> b<-21:30 >> mydata<-data.frame(a,b) >> mydata.split<-split(mydata,(mydata[,1:2]),drop=TRUE) >> mydata.split >> >> Thanks >> in advance for your >> help. >> >> Sebastien >> >> ______________________________________________ >> 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. >> >> >> >> >> >> > > > [[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.