[R] Split dataframe into new dataframes

David Winsemius dwinsemius at comcast.net
Wed Feb 8 22:19:47 CET 2012

On Feb 8, 2012, at 4:11 PM, Johannes Radinger wrote:

> Hi,
> I want to split a dataframe based on a grouping variable (in one  
> column). The resulting new
> dataframes should be stored in a new variable. I tried to split the  
> dataframe using split() and
> to store it using a FOR loop, but thats not working so far:
> df <- data.frame(A=c("A1","A1","A2","A2"),B=seq(1:4))
> Fsplit <- function(x,y){
> 	ls <- split(x,f=x$y)
> 	for (i in names(ls)){
> 		i <- ls$i
> 	}
> }
> Fsplit(df,A) #1st argument is dataframe to split, 2nd argument  
> grouping variable

It appears you want the name of the levels of df$A to be the names of  
separate variables in the global environment. If that is correct, then  
see the FAQ. I'm not sure which one it is among the Miscellaneous  
section, but you should be looking of the one that tells you how to  
construct a named variable.


? assign

David Winsemius, MD
West Hartford, CT

More information about the R-help mailing list