Skip to content

Select values from a MAgPIE-object

Usage

mcalc(x, f, dim = NULL, append = FALSE)

Arguments

x

MAgPIE object

f

A formula describing the calculation that should be performed

dim

The dimension in which the manipulation should take place. If set to NULL function tries to detect the dimension automatically.

append

If set to TRUE the result will be appended to x, otherwise the result will be returned.

Value

The calculated MAgPIE object in the case that append is set to FALSE. Otherwise nothing is returned (as x is appended in place)

Details

This functions only work for MAgPIE objects with named dimensions as the dimension name (set_name) has to be used to indicate in which dimension the entries should be searched for!

See also

mselect

Other SelectionCalculation: magpply(), mselect(), where()

Author

Jan Philipp Dietrich

Examples


pop <- maxample("pop")
pop
#> , , scenario = A2
#> 
#>      t
#> i         y1995   y2005   y2015   y2025   y2035   y2045   y2055
#>   AFR  552.6664  696.44  889.18 1124.11 1389.33 1659.73 1924.19
#>   CPA 1280.6350 1429.53 1518.46 1592.09 1640.95 1671.94 1691.24
#>   EUR  554.4384  582.36  593.76  605.27  614.58  618.97  619.37
#>   FSU  276.3431  295.38  302.62  308.59  313.30  315.72  317.36
#>   LAM  451.9981  558.29  646.02  733.13  812.69  880.98  939.44
#>   MEA  277.7437  390.18  489.22  596.13  698.33  790.61  871.83
#>   NAM  292.1132  326.09  353.25  382.53  409.44  431.12  448.70
#>   PAO  133.7772  152.00  155.27  157.35  158.81  159.70  160.45
#>   PAS  383.2277  534.73  604.94  668.49  723.13  767.30  798.68
#>   SAS 1269.9243 1505.02 1796.76 2095.48 2369.60 2600.68 2783.75
#>      t
#> i       y2065   y2075   y2085   y2095   y2105   y2115   y2125   y2135
#>   AFR 2172.30 2387.96 2560.32 2671.07 2708.86 2708.86 2708.86 2708.86
#>   CPA 1719.25 1765.77 1832.31 1918.47 1965.05 1965.05 1965.05 1965.05
#>   EUR  618.74  622.03  630.52  642.20  648.98  648.98  648.98  648.98
#>   FSU  319.61  322.30  327.08  332.39  334.66  334.66  334.66  334.66
#>   LAM  989.54 1035.25 1079.39 1117.61 1134.64 1134.64 1134.64 1134.64
#>   MEA  942.81 1002.56 1052.19 1088.94 1103.31 1103.31 1103.31 1103.31
#>   NAM  465.22  481.39  494.88  505.93  511.41  511.41  511.41  511.41
#>   PAO  160.95  161.47  163.53  166.31  167.49  167.49  167.49  167.49
#>   PAS  819.21  834.31  844.38  843.52  839.53  839.53  839.53  839.53
#>   SAS 2920.70 3006.60 3040.10 3007.86 2972.39 2972.39 2972.39 2972.39
#>      t
#> i       y2145
#>   AFR 2708.86
#>   CPA 1965.05
#>   EUR  648.98
#>   FSU  334.66
#>   LAM 1134.64
#>   MEA 1103.31
#>   NAM  511.41
#>   PAO  167.49
#>   PAS  839.53
#>   SAS 2972.39
#> 
#> , , scenario = B1
#> 
#>      t
#> i         y1995   y2005   y2015   y2025   y2035   y2045   y2055
#>   AFR  552.6664  721.85  932.04 1118.33 1267.33 1383.24 1469.16
#>   CPA 1280.6350 1429.26 1499.74 1531.12 1518.73 1463.68 1370.97
#>   EUR  554.4384  587.21  603.63  613.98  619.48  617.12  606.77
#>   FSU  276.3431  296.84  305.26  309.78  311.47  309.03  301.99
#>   LAM  451.9981  552.79  623.20  681.60  723.44  747.70  753.98
#>   MEA  277.7437  398.92  502.51  598.73  682.80  754.14  811.59
#>   NAM  292.1132  325.04  349.85  376.11  399.68  418.70  434.27
#>   PAO  133.7772  153.07  157.37  159.07  159.51  158.10  155.21
#>   PAS  383.2277  530.67  590.42  639.68  674.98  692.45  689.79
#>   SAS 1269.9243 1475.64 1687.80 1870.96 1999.15 2072.68 2090.96
#>      t
#> i       y2065   y2075   y2085   y2095   y2105   y2115   y2125   y2135
#>   AFR 1510.27 1505.16 1454.54 1361.24 1304.59 1304.59 1304.59 1304.59
#>   CPA 1257.23 1139.25 1021.52  904.61  846.50  846.50  846.50  846.50
#>   EUR  592.52  579.18  567.73  554.61  547.06  547.06  547.06  547.06
#>   FSU  292.46  281.39  269.77  257.52  251.04  251.04  251.04  251.04
#>   LAM  743.05  718.79  683.68  637.69  611.88  611.88  611.88  611.88
#>   MEA  849.11  865.89  861.01  831.23  809.60  809.60  809.60  809.60
#>   NAM  449.98  468.05  486.99  503.86  511.44  511.44  511.44  511.44
#>   PAO  151.86  148.08  144.47  140.82  138.80  138.80  138.80  138.80
#>   PAS  668.98  634.64  590.05  536.24  507.06  507.06  507.06  507.06
#>   SAS 2049.18 1953.77 1811.83 1629.07 1528.15 1528.15 1528.15 1528.15
#>      t
#> i       y2145
#>   AFR 1304.59
#>   CPA  846.50
#>   EUR  547.06
#>   FSU  251.04
#>   LAM  611.88
#>   MEA  809.60
#>   NAM  511.44
#>   PAO  138.80
#>   PAS  507.06
#>   SAS 1528.15
#> 
mcalc(pop, X12 ~ A2 * B1, append = TRUE)
pop
#> , , scenario = A2
#> 
#>      t
#> i         y1995   y2005   y2015   y2025   y2035   y2045   y2055
#>   AFR  552.6664  696.44  889.18 1124.11 1389.33 1659.73 1924.19
#>   CPA 1280.6350 1429.53 1518.46 1592.09 1640.95 1671.94 1691.24
#>   EUR  554.4384  582.36  593.76  605.27  614.58  618.97  619.37
#>   FSU  276.3431  295.38  302.62  308.59  313.30  315.72  317.36
#>   LAM  451.9981  558.29  646.02  733.13  812.69  880.98  939.44
#>   MEA  277.7437  390.18  489.22  596.13  698.33  790.61  871.83
#>   NAM  292.1132  326.09  353.25  382.53  409.44  431.12  448.70
#>   PAO  133.7772  152.00  155.27  157.35  158.81  159.70  160.45
#>   PAS  383.2277  534.73  604.94  668.49  723.13  767.30  798.68
#>   SAS 1269.9243 1505.02 1796.76 2095.48 2369.60 2600.68 2783.75
#>      t
#> i       y2065   y2075   y2085   y2095   y2105   y2115   y2125   y2135
#>   AFR 2172.30 2387.96 2560.32 2671.07 2708.86 2708.86 2708.86 2708.86
#>   CPA 1719.25 1765.77 1832.31 1918.47 1965.05 1965.05 1965.05 1965.05
#>   EUR  618.74  622.03  630.52  642.20  648.98  648.98  648.98  648.98
#>   FSU  319.61  322.30  327.08  332.39  334.66  334.66  334.66  334.66
#>   LAM  989.54 1035.25 1079.39 1117.61 1134.64 1134.64 1134.64 1134.64
#>   MEA  942.81 1002.56 1052.19 1088.94 1103.31 1103.31 1103.31 1103.31
#>   NAM  465.22  481.39  494.88  505.93  511.41  511.41  511.41  511.41
#>   PAO  160.95  161.47  163.53  166.31  167.49  167.49  167.49  167.49
#>   PAS  819.21  834.31  844.38  843.52  839.53  839.53  839.53  839.53
#>   SAS 2920.70 3006.60 3040.10 3007.86 2972.39 2972.39 2972.39 2972.39
#>      t
#> i       y2145
#>   AFR 2708.86
#>   CPA 1965.05
#>   EUR  648.98
#>   FSU  334.66
#>   LAM 1134.64
#>   MEA 1103.31
#>   NAM  511.41
#>   PAO  167.49
#>   PAS  839.53
#>   SAS 2972.39
#> 
#> , , scenario = B1
#> 
#>      t
#> i         y1995   y2005   y2015   y2025   y2035   y2045   y2055
#>   AFR  552.6664  721.85  932.04 1118.33 1267.33 1383.24 1469.16
#>   CPA 1280.6350 1429.26 1499.74 1531.12 1518.73 1463.68 1370.97
#>   EUR  554.4384  587.21  603.63  613.98  619.48  617.12  606.77
#>   FSU  276.3431  296.84  305.26  309.78  311.47  309.03  301.99
#>   LAM  451.9981  552.79  623.20  681.60  723.44  747.70  753.98
#>   MEA  277.7437  398.92  502.51  598.73  682.80  754.14  811.59
#>   NAM  292.1132  325.04  349.85  376.11  399.68  418.70  434.27
#>   PAO  133.7772  153.07  157.37  159.07  159.51  158.10  155.21
#>   PAS  383.2277  530.67  590.42  639.68  674.98  692.45  689.79
#>   SAS 1269.9243 1475.64 1687.80 1870.96 1999.15 2072.68 2090.96
#>      t
#> i       y2065   y2075   y2085   y2095   y2105   y2115   y2125   y2135
#>   AFR 1510.27 1505.16 1454.54 1361.24 1304.59 1304.59 1304.59 1304.59
#>   CPA 1257.23 1139.25 1021.52  904.61  846.50  846.50  846.50  846.50
#>   EUR  592.52  579.18  567.73  554.61  547.06  547.06  547.06  547.06
#>   FSU  292.46  281.39  269.77  257.52  251.04  251.04  251.04  251.04
#>   LAM  743.05  718.79  683.68  637.69  611.88  611.88  611.88  611.88
#>   MEA  849.11  865.89  861.01  831.23  809.60  809.60  809.60  809.60
#>   NAM  449.98  468.05  486.99  503.86  511.44  511.44  511.44  511.44
#>   PAO  151.86  148.08  144.47  140.82  138.80  138.80  138.80  138.80
#>   PAS  668.98  634.64  590.05  536.24  507.06  507.06  507.06  507.06
#>   SAS 2049.18 1953.77 1811.83 1629.07 1528.15 1528.15 1528.15 1528.15
#>      t
#> i       y2145
#>   AFR 1304.59
#>   CPA  846.50
#>   EUR  547.06
#>   FSU  251.04
#>   LAM  611.88
#>   MEA  809.60
#>   NAM  511.44
#>   PAO  138.80
#>   PAS  507.06
#>   SAS 1528.15
#> 
#> , , scenario = X12
#> 
#>      t
#> i          y1995      y2005      y2015      y2025      y2035
#>   AFR  305440.13  502725.20  828751.30 1257125.87 1760739.47
#>   CPA 1640026.03 2043170.10 2277295.13 2437680.78 2492159.89
#>   EUR  307401.96  341967.62  358411.36  371623.67  380720.02
#>   FSU   76365.51   87680.60   92377.78   95595.01   97583.55
#>   LAM  204302.29  308617.10  402599.68  499701.39  587932.46
#>   MEA   77141.57  155650.61  245837.95  356920.91  476819.73
#>   NAM   85330.12  105992.30  123584.51  143873.35  163644.98
#>   PAO   17896.34   23266.64   24434.84   25029.67   25331.78
#>   PAS  146863.46  283765.15  357168.67  427619.67  488098.28
#>   SAS 1612707.77 2220867.76 3032571.63 3920559.14 4737186.09
#>      t
#> i          y2045      y2055      y2065      y2075      y2085
#>   AFR 2295804.88 2826942.96 3280759.64 3594261.90 3724088.05
#>   CPA 2447185.14 2318639.24 2161492.64 2011653.49 1871741.41
#>   EUR  381978.75  375815.14  366615.83  360267.35  357965.12
#>   FSU   97566.95   95839.54   93473.13   90692.00   88236.36
#>   LAM  658708.74  708318.95  735277.67  744127.32  737957.36
#>   MEA  596230.63  707568.55  800549.38  868106.69  905946.07
#>   NAM  180509.95  194856.95  209339.70  225314.59  241001.61
#>   PAO   25248.57   24903.45   24441.87   23910.48   23625.18
#>   PAS  531316.89  550921.45  548035.10  529486.51  498226.41
#>   SAS 5390377.10 5820709.79 5985039.73 5874205.13 5508144.43
#>      t
#> i          y2095      y2105      y2115      y2125      y2135
#>   AFR 3635967.39 3533951.71 3533951.71 3533951.71 3533951.71
#>   CPA 1735467.09 1663414.87 1663414.87 1663414.87 1663414.87
#>   EUR  356170.54  355030.99  355030.99  355030.99  355030.99
#>   FSU   85597.07   84013.05   84013.05   84013.05   84013.05
#>   LAM  712688.71  694263.54  694263.54  694263.54  694263.54
#>   MEA  905159.53  893239.80  893239.80  893239.80  893239.80
#>   NAM  254917.88  261555.53  261555.53  261555.53  261555.53
#>   PAO   23419.78   23247.61   23247.61   23247.61   23247.61
#>   PAS  452329.17  425692.09  425692.09  425692.09  425692.09
#>   SAS 4900014.50 4542257.69 4542257.69 4542257.69 4542257.69
#>      t
#> i          y2145
#>   AFR 3533951.71
#>   CPA 1663414.87
#>   EUR  355030.99
#>   FSU   84013.05
#>   LAM  694263.54
#>   MEA  893239.80
#>   NAM  261555.53
#>   PAO   23247.61
#>   PAS  425692.09
#>   SAS 4542257.69
#> 
mcalc(pop, `Nearly B1` ~ 0.5 * A2 + 99.5 * B1)
#>      t
#> i         y1995     y2005     y2015     y2025     y2035     y2045
#>   AFR  55266.64  72172.29  93182.57 111835.89 126794.00 138462.24
#>   CPA 128063.50 142926.14 149983.36 153142.48 151934.11 146472.14
#>   EUR  55443.84  58718.58  60358.07  61393.64  61945.55  61712.92
#>   FSU  27634.31  29683.27  30524.68  30977.40  31147.92  30906.34
#>   LAM  45199.81  55281.75  62331.41  68185.76  72388.63  74836.64
#>   MEA  27774.37  39887.63  50244.36  59871.70  68287.76  75432.24
#>   NAM  29211.32  32504.53  34986.70  37614.21  39972.88  41876.21
#>   PAO  13377.72  15306.47  15735.95  15906.14  15950.65  15810.80
#>   PAS  38322.77  53069.03  59049.26  63982.40  67522.07  69282.43
#>   SAS 126992.43 147578.69 168834.48 187208.26 200100.23 207531.99
#>      t
#> i         y2055     y2065     y2075     y2085     y2095     y2105
#>   AFR 147143.52 151358.02 150957.40 146006.89 136778.91 131161.13
#>   CPA 137257.13 125954.01 114238.26 102557.40  90967.93  85209.28
#>   EUR  60683.30  59265.11  57939.42  56804.39  55504.79  54756.96
#>   FSU  30206.68  29259.57  28159.46  27005.65  25789.43  25145.81
#>   LAM  75490.73  74428.24  72037.23  68565.85  64008.96  61449.38
#>   MEA  81189.12  84957.85  86657.34  86196.59  83251.85  81106.85
#>   NAM  43434.21  45005.62  46811.67  48702.94  50387.03  51143.99
#>   PAO  15523.62  15190.55  14814.70  14456.53  14094.75  13894.35
#>   PAS  69033.44  66973.11  63563.84  59132.16  53777.64  50872.23
#>   SAS 209442.39 205353.75 195903.42 181797.13 163596.39 153537.12
#>      t
#> i         y2115     y2125     y2135     y2145
#>   AFR 131161.13 131161.13 131161.13 131161.13
#>   CPA  85209.28  85209.28  85209.28  85209.28
#>   EUR  54756.96  54756.96  54756.96  54756.96
#>   FSU  25145.81  25145.81  25145.81  25145.81
#>   LAM  61449.38  61449.38  61449.38  61449.38
#>   MEA  81106.85  81106.85  81106.85  81106.85
#>   NAM  51143.99  51143.99  51143.99  51143.99
#>   PAO  13894.35  13894.35  13894.35  13894.35
#>   PAS  50872.23  50872.23  50872.23  50872.23
#>   SAS 153537.12 153537.12 153537.12 153537.12