Skip to content

Creating dataframes

3 messages · Woida71, Phil Spector, Marc Schwartz

#
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

--
View this message in context: http://r.789695.n4.nabble.com/Creating-dataframes-tp3520509p3520509.html
Sent from the R help mailing list archive at Nabble.com.
#
The way to do what you want is to use the split function, for
example,

mydataframes = split(exmpl,exmpl$Site)

This will return a list with all the data frames.

If you don't understand why this is a better solution than 
creating many separate data frames, let us know what you plan
to do with the data frames you're creating.

                                                    - Phil
On Fri, 13 May 2011, Woida71 wrote:

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

            
The easiest way is to create a list of data frames using:
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
$`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