If you just want to combine them together (rbind), try this:

> str(avprix16)
'data.frame':   16 obs. of  4 variables:
 $ DESCRIPTION: chr  "COPPER May/10" "CORN May/10" "COTTON NO.2 Jul/10"
"CRUDE OIL miNY May/10" ...
 $ prix       : num  -716.9 -1082 -80 -84.8 2295.5 ...
 $ POSITION   : num  -2 -3 -1 -1 2 8 -1 2 -1 2 ...
 $ fees       : num  -47.5 -30.2 -20.1 -107.6 -63.4 ...
> str(pose15)
'data.frame':   9 obs. of  3 variables:
 $ DESCRIPTION: Factor w/ 9 levels "CORN May/10",..: 1 2 3 4 5 6 7 8 9
 $ POSITION   : num  3 4 3 10 1 1 3 -1 6
 $ prix       : num  1090 328 257 13860 1843 ...
> str(pose16)
'data.frame':   10 obs. of  3 variables:
 $ DESCRIPTION: Factor w/ 13 levels "COPPER May/10",..: 1 2 3 4 5 6 7 8 9 12
 $ POSITION   : num  2 -3 -2 -2 -18 -3 -5 1 -5 1
 $ prix       : num  703 -245 -166 -2274 -24876 ...
> x <- rbind(avprix16[,1:3], pose15, pose16)
> x
                      DESCRIPTION       prix POSITION
2                   COPPER May/10   -716.900       -2
4                     CORN May/10  -1082.000       -3
5              COTTON NO.2 Jul/10    -79.960       -1
6           CRUDE OIL miNY May/10    -84.825       -1
7                     GOLD Jun/10   2295.500        2
9      ROBUSTA COFFEE (10) Jul/10  11084.000        8
10                  SILVER May/10  -1798.000       -1
11                SOYBEANS Jul/10   1983.500        2
12       SPCL HIGH GRADE ZINC USD  -2464.000       -1
14             SUGAR NO.11 Jul/10     32.390        2
15                   WHEAT Jul/10   2448.250        5
16                   WHEAT May/10  -2881.500       -6
1                 COFFEE C Jul/10      4.750        0
3                     CORN Jul/10     -1.500        0
8   HENRY HUB NATURAL GAS\nMay/10     -0.049        0
13              STANDARD LEAD USD   -118.000        0
17                    CORN May/10   1089.750        3
18             COTTON NO.2 Jul/10    328.480        4
19          CRUDE OIL miNY May/10    256.530        3
20     ROBUSTA COFFEE (10) Jul/10  13860.000       10
21                  SILVER May/10   1843.300        1
22                SOYBEANS Jul/10    993.000        1
23             SUGAR NO.11 Jul/10     51.240        3
24            SUGAR NO.11\nMay/10    -16.850       -1
25                   WHEAT May/10   2881.500        6
110                 COPPER May/10    702.900        2
26             COTTON NO.2 Jul/10   -244.770       -3
31          CRUDE OIL miNY May/10   -166.480       -2
41                    GOLD Jun/10  -2273.800       -2
52     ROBUSTA COFFEE (10) Jul/10 -24876.000      -18
61                SOYBEANS Jul/10  -2985.000       -3
71             SUGAR NO.11 Jul/10    -80.900       -5


On Tue, May 11, 2010 at 8:07 AM, arnaud Gaboury <arnaud.gaboury@gmail.com>wrote:

> Dear group,
>
> I have 3 data frames I would like to merge.
>
> Here they are:
>
> pose16 <-
> structure(list(DESCRIPTION = structure(c(1L, 2L, 3L, 4L, 5L,
> 6L, 7L, 8L, 9L, 12L), .Label = c("COPPER May/10", "COTTON NO.2 Jul/10",
> "CRUDE OIL miNY May/10", "GOLD Jun/10", "ROBUSTA COFFEE (10) Jul/10",
> "SOYBEANS Jul/10", "SUGAR NO.11 Jul/10", "SUGAR NO.11 May/10",
> "WHEAT Jul/10", "PRIMARY NICKEL USD", "PRM HGH GD ALUMINIUM USD",
> "SPCL HIGH GRADE ZINC USD", "STANDARD LEAD USD"), class = "factor"),
>    POSITION = c(2, -3, -2, -2, -18, -3, -5, 1, -5, 1), prix = c(702.9,
>    -244.77, -166.48, -2273.8, -24876, -2985, -80.9, 15.95, -2512.5,
>    2423)), .Names = c("DESCRIPTION", "POSITION", "prix"), row.names =
> c("1",
> "2", "3", "4", "5", "6", "7", "8", "9", "51"), class = "data.frame")
>
> pose15 <-
> structure(list(DESCRIPTION = structure(1:9, .Label = c("CORN May/10",
> "COTTON NO.2 Jul/10", "CRUDE OIL miNY May/10", "ROBUSTA COFFEE (10)
> Jul/10",
>
> "SILVER May/10", "SOYBEANS Jul/10", "SUGAR NO.11 Jul/10", "SUGAR NO.11
> May/10",
> "WHEAT May/10"), class = "factor"), POSITION = c(3, 4, 3, 10,
> 1, 1, 3, -1, 6), prix = c(1089.75, 328.48, 256.53, 13860, 1843.3,
> 993, 51.24, -16.85, 2881.5)), .Names = c("DESCRIPTION", "POSITION",
> "prix"), class = "data.frame", row.names = c(NA, 9L))
>
> avprix16 <-
> structure(list(DESCRIPTION = c("COPPER May/10", "CORN May/10",
> "COTTON NO.2 Jul/10", "CRUDE OIL miNY May/10", "GOLD Jun/10",
> "ROBUSTA COFFEE (10) Jul/10", "SILVER May/10", "SOYBEANS Jul/10",
> "SPCL HIGH GRADE ZINC USD", "SUGAR NO.11 Jul/10", "WHEAT Jul/10",
> "WHEAT May/10", "COFFEE C Jul/10", "CORN Jul/10", "HENRY HUB NATURAL GAS
> May/10",
> "STANDARD LEAD USD"), prix = c(-716.9, -1082, -79.96, -84.825,
> 2295.5, 11084, -1798, 1983.5, -2464, 32.39, 2448.25, -2881.5,
> 4.75000000000003, -1.5, -0.0490000000000013, -118), POSITION = c(-2,
> -3, -1, -1, 2, 8, -1, 2, -1, 2, 5, -6, 0, 0, 0, 0), fees = c(-47.52,
> -30.24, -20.05, -107.59, -63.36, -26.4, -43.56, -25.92, -37.5,
> -96.24, -56.16, -25.92, -24.06, -8.64, -23.76, -25)), .Names =
> c("DESCRIPTION",
> "prix", "POSITION", "fees"), row.names = c(2L, 4L, 5L, 6L, 7L,
> 9L, 10L, 11L, 12L, 14L, 15L, 16L, 1L, 3L, 8L, 13L), class = "data.frame")
>
> As you can see, they have three common columns : $prix, $DESCRIPTION and
> $POSITION. I want to merge them by $DESCRIPTION, with
> $prix=pose16$prix+pose15$prix+avprix16$prix,
> $POSITION=pose16$POSITION+pose15$POSITION+avprix16$POSITION
> I managed to do it, but with many command lines. Maybe is there a simple
> way
> to do it?
>
> TY for help.
>
> ______________________________________________
> 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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

	[[alternative HTML version deleted]]

