[R] paste data

Søren Højsgaard Soren.Hojsgaard at agrsci.dk
Wed Jun 18 10:46:59 CEST 2008


You can put all dataframes into a list L, e.g.

L <- list(auto.0a, auto.0b,...)

and then do either a for-loop or use lapply. For example

for (ii in 1:length(L)){
  plot(y~x, data=L[[ii]],...)	
} 

or 

lapply(L, function(d) plot(y~x, data=d)


Med venlig hilsen
Søren Højsgaard
 


-----Oprindelig meddelelse-----
Fra: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] På vegne af Sybille Wendel
Sendt: 18. juni 2008 10:36
Til: r-help at r-project.org
Emne: [R] paste data

Hello,

I need a command.
I have a lot of data in different dataframes(auto.0a, auto.0b, auto.0c, auto.5Na,...), that has similar names.

I could print the names all at once wih a loop with the command paste(), see below:

plot<-c("0a","0b","0c","5Na","5Nb","5Nc","PKa","PKb","PKc","5NPKa","5NPKb",
	"5NPKc","10NPKa","10NPKb","10NPKc","20NPKa","20NPKb","20NPKc")

for (x in 1:length(plot))
{
	name<-paste("auto.",plot[x],sep="")
	print(name)
}

I want to do very similar things with all the dataframes and their structure is also the same.
Is there a way to write a loop? (so that I don't have to write the same 18 times) I tried things like that:

for (x in 1:length(plot))
{
	plot(paste("auto.",plot[x],sep="")[,1],paste("auto.",plot[x],sep="")[,2],col=...)
}

But it doesn't work because it just takes the character "auto.0a".


Thanks a lot for your help,
Sybille Wendel


--

______________________________________________
R-help at 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.



More information about the R-help mailing list