[R] Creating dataframes

Marc Schwartz marc_schwartz at me.com
Fri May 13 18:38:31 CEST 2011


On May 13, 2011, at 10:28 AM, Woida71 wrote:

> I would like to create a certain number of dataframes out of one dataframe
> where each of the dataframes
> is related to a factor. This should be possible with a loop or a function,
> as is very clumsy to do it manually
> when there are quite a lot factors. 
> 
> For example having a dataframe called "exmpl":
> 
> Site	Value
> 1	12
> 1	15	
> 1	18
> 1	21	
> 1	12
> 1	13
> 2	15	
> 2	12
> 2	58
> 2	62
> 2	22
> 2	65
> 2	29
> 3	21
> 3	55
> 3	11
> 3	98
> 
> I would like to create 3 dataframes, where  
> "exmpl_01" equals:
> 1	12
> 1	15	
> 1	18
> 1	21	
> 1	12
> 1	13
> 
> "exmpl_02" equals:
> 2	15	
> 2	12
> 2	58
> 2	62
> 2	22
> 2	65
> 2	29
> 
> "exmpl_03" equals:
> 3	21
> 3	55
> 3	11
> 3	98
> 
> Thanks for any help.
> Walter


The easiest way is to create a list of data frames using:

> DF
   Site Value
1     1    12
2     1    15
3     1    18
4     1    21
5     1    12
6     1    13
7     2    15
8     2    12
9     2    58
10    2    62
11    2    22
12    2    65
13    2    29
14    3    21
15    3    55
16    3    11
17    3    98


> split(DF, DF$Site)
$`1`
  Site Value
1    1    12
2    1    15
3    1    18
4    1    21
5    1    12
6    1    13

$`2`
   Site Value
7     2    15
8     2    12
9     2    58
10    2    62
11    2    22
12    2    65
13    2    29

$`3`
   Site Value
14    3    21
15    3    55
16    3    11
17    3    98


See ?split for more information.

HTH,

Marc Schwartz



More information about the R-help mailing list