Data Manipulation in R

Data diambil dari datasets CO2.Berupa data set yang berisi data dari 84 sampel rumput Echinochloa crus-galli yang diambil dari dua daerah berbeda yaitu Quebec (salah satu negara bagian dari Kanada ) dan missisipi (salah satu negara bagian dari USA ). Data sampel rumput Echinochloa crus-galli dari dua daerah berbeda itu diberikan treatment berupa pendinginan (chilled) dan tanpa pendinginan (nonchilled). Dari asal dan treatment yang dilakukan dilihat pengaruhnya terhadap laju penyerapan karbon dioksida oleh rumput tersebut (dihitung dalam mikromol/m^2/sec) dan konsentrasi karbon dioksidanya (dihitung dalam mol/L). terdiri atas :

Deklarasi Package

library(datasets)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#data diambil dari datasets CO2
datasets::CO2
##    Plant        Type  Treatment conc uptake
## 1    Qn1      Quebec nonchilled   95   16.0
## 2    Qn1      Quebec nonchilled  175   30.4
## 3    Qn1      Quebec nonchilled  250   34.8
## 4    Qn1      Quebec nonchilled  350   37.2
## 5    Qn1      Quebec nonchilled  500   35.3
## 6    Qn1      Quebec nonchilled  675   39.2
## 7    Qn1      Quebec nonchilled 1000   39.7
## 8    Qn2      Quebec nonchilled   95   13.6
## 9    Qn2      Quebec nonchilled  175   27.3
## 10   Qn2      Quebec nonchilled  250   37.1
## 11   Qn2      Quebec nonchilled  350   41.8
## 12   Qn2      Quebec nonchilled  500   40.6
## 13   Qn2      Quebec nonchilled  675   41.4
## 14   Qn2      Quebec nonchilled 1000   44.3
## 15   Qn3      Quebec nonchilled   95   16.2
## 16   Qn3      Quebec nonchilled  175   32.4
## 17   Qn3      Quebec nonchilled  250   40.3
## 18   Qn3      Quebec nonchilled  350   42.1
## 19   Qn3      Quebec nonchilled  500   42.9
## 20   Qn3      Quebec nonchilled  675   43.9
## 21   Qn3      Quebec nonchilled 1000   45.5
## 22   Qc1      Quebec    chilled   95   14.2
## 23   Qc1      Quebec    chilled  175   24.1
## 24   Qc1      Quebec    chilled  250   30.3
## 25   Qc1      Quebec    chilled  350   34.6
## 26   Qc1      Quebec    chilled  500   32.5
## 27   Qc1      Quebec    chilled  675   35.4
## 28   Qc1      Quebec    chilled 1000   38.7
## 29   Qc2      Quebec    chilled   95    9.3
## 30   Qc2      Quebec    chilled  175   27.3
## 31   Qc2      Quebec    chilled  250   35.0
## 32   Qc2      Quebec    chilled  350   38.8
## 33   Qc2      Quebec    chilled  500   38.6
## 34   Qc2      Quebec    chilled  675   37.5
## 35   Qc2      Quebec    chilled 1000   42.4
## 36   Qc3      Quebec    chilled   95   15.1
## 37   Qc3      Quebec    chilled  175   21.0
## 38   Qc3      Quebec    chilled  250   38.1
## 39   Qc3      Quebec    chilled  350   34.0
## 40   Qc3      Quebec    chilled  500   38.9
## 41   Qc3      Quebec    chilled  675   39.6
## 42   Qc3      Quebec    chilled 1000   41.4
## 43   Mn1 Mississippi nonchilled   95   10.6
## 44   Mn1 Mississippi nonchilled  175   19.2
## 45   Mn1 Mississippi nonchilled  250   26.2
## 46   Mn1 Mississippi nonchilled  350   30.0
## 47   Mn1 Mississippi nonchilled  500   30.9
## 48   Mn1 Mississippi nonchilled  675   32.4
## 49   Mn1 Mississippi nonchilled 1000   35.5
## 50   Mn2 Mississippi nonchilled   95   12.0
## 51   Mn2 Mississippi nonchilled  175   22.0
## 52   Mn2 Mississippi nonchilled  250   30.6
## 53   Mn2 Mississippi nonchilled  350   31.8
## 54   Mn2 Mississippi nonchilled  500   32.4
## 55   Mn2 Mississippi nonchilled  675   31.1
## 56   Mn2 Mississippi nonchilled 1000   31.5
## 57   Mn3 Mississippi nonchilled   95   11.3
## 58   Mn3 Mississippi nonchilled  175   19.4
## 59   Mn3 Mississippi nonchilled  250   25.8
## 60   Mn3 Mississippi nonchilled  350   27.9
## 61   Mn3 Mississippi nonchilled  500   28.5
## 62   Mn3 Mississippi nonchilled  675   28.1
## 63   Mn3 Mississippi nonchilled 1000   27.8
## 64   Mc1 Mississippi    chilled   95   10.5
## 65   Mc1 Mississippi    chilled  175   14.9
## 66   Mc1 Mississippi    chilled  250   18.1
## 67   Mc1 Mississippi    chilled  350   18.9
## 68   Mc1 Mississippi    chilled  500   19.5
## 69   Mc1 Mississippi    chilled  675   22.2
## 70   Mc1 Mississippi    chilled 1000   21.9
## 71   Mc2 Mississippi    chilled   95    7.7
## 72   Mc2 Mississippi    chilled  175   11.4
## 73   Mc2 Mississippi    chilled  250   12.3
## 74   Mc2 Mississippi    chilled  350   13.0
## 75   Mc2 Mississippi    chilled  500   12.5
## 76   Mc2 Mississippi    chilled  675   13.7
## 77   Mc2 Mississippi    chilled 1000   14.4
## 78   Mc3 Mississippi    chilled   95   10.6
## 79   Mc3 Mississippi    chilled  175   18.0
## 80   Mc3 Mississippi    chilled  250   17.9
## 81   Mc3 Mississippi    chilled  350   17.9
## 82   Mc3 Mississippi    chilled  500   17.9
## 83   Mc3 Mississippi    chilled  675   18.9
## 84   Mc3 Mississippi    chilled 1000   19.9
CO2 <- tibble::as_tibble(CO2)
#jumlah rumput yang berasal dari quebec dan mississippi
table(CO2$Type)
## 
##      Quebec Mississippi 
##          42          42

Dari data sebanyak 84 sampel rumput Echinochloa crus-galli, sampel rumput yang berasal dari Quebec diambil sebanyak 42 sampel dan dari Mississippi sebanyak 42 sampel. Selanjutnya akan dilihat rata - rata konsentrasi karbon dioksida yang diserap oleh rumput Echinochloa crus-galli berdasarkan asal rumput dan treatment yang diberikan.

Fungsi Summarise

#fungsi summarise()

Co2.conc <- CO2 %>% group_by(Type,Treatment) %>% summarise(mean.conc=mean(conc), .groups = 'drop')
Co2.conc
## # A tibble: 4 x 3
##   Type        Treatment  mean.conc
##   <fct>       <fct>          <dbl>
## 1 Quebec      nonchilled       435
## 2 Quebec      chilled          435
## 3 Mississippi nonchilled       435
## 4 Mississippi chilled          435

Dari data diperoleh bahwa rata - rata konsentrasi karbon dioksida yang diserap oleh rumput Echinochloa crus-galli berdasarkan asal rumput dan treatment yang diberikan adalah sama baik itu yang berasal dari Quebec maupun mississippi dan bagi rumput yang dikenakan treatment pendinginan maupun yang tidak, yaitu rata - rata konsentrasinya sebesar 435 mol/L. Selanjutnya akan dilihat rata - rata laju penyerapan karbon dioksida oleh rumput Echinochloa crus-galli berdasarkan asal rumput dan treatment yang diberikan.

#fungsi summarise()

Co2.uptake <- CO2 %>% group_by(Type,Treatment) %>% summarise(mean.uptake=mean(uptake), .groups = 'drop')
Co2.uptake
## # A tibble: 4 x 3
##   Type        Treatment  mean.uptake
##   <fct>       <fct>            <dbl>
## 1 Quebec      nonchilled        35.3
## 2 Quebec      chilled           31.8
## 3 Mississippi nonchilled        26.0
## 4 Mississippi chilled           15.8

Fungsi Arrange

#fungsi arrange()
#mengurutkan berdasarkan rata-rata laju penyerapan CO2 dari yang tercepat

Co2.uptake %>% arrange(desc(mean.uptake))
## # A tibble: 4 x 3
##   Type        Treatment  mean.uptake
##   <fct>       <fct>            <dbl>
## 1 Quebec      nonchilled        35.3
## 2 Quebec      chilled           31.8
## 3 Mississippi nonchilled        26.0
## 4 Mississippi chilled           15.8

Dari data diketahui bahwa rumput Echinochloa crus-galli yang berasal dari Quebec dan tidak diberikan treatment pendinginan memiliki rata-rata laju penyerapan Co2 paling tinggi yaitu sebesar 35.333 mikromol/m^2/sec. Diikuti oleh rumput Echinochloa crus-galli yang masih berasal dari tempat yang sama tetapi diberikan treatment pendinginan yaitu sebesar 31.75238 mikromol/m^2/sec. Ditempat ketiga rumput Echinochloa crus-galli yang berasal dari Mississipi dan tidak diberikan treatment pendinginan memiliki rata-rata laju penyerapan Co2 sebesar 25.95238 mikromol/m^2/sec, dan rumput Echinochloa crus-galli yang berasal dari Mississipi dan diberikan treatment pendinginan memiliki rata-rata laju penyerapan Co2 paling lambat yaitu sebesar 15.81429 mikromol/m^2/sec.

Selanjutnya akan dilihat data rumput Echinochloa crus-galli yang berasal dari Mississipi dan tidak diberikan treatment pendinginan.

Fungsi Filter

#fungsi filter()
#dilihat data rumput yang berasal dari missisipi dan tidak didinginkan

CO2 %>% filter(Type=="Mississippi" & Treatment=="nonchilled")
## # A tibble: 21 x 5
##    Plant Type        Treatment   conc uptake
##    <ord> <fct>       <fct>      <dbl>  <dbl>
##  1 Mn1   Mississippi nonchilled    95   10.6
##  2 Mn1   Mississippi nonchilled   175   19.2
##  3 Mn1   Mississippi nonchilled   250   26.2
##  4 Mn1   Mississippi nonchilled   350   30  
##  5 Mn1   Mississippi nonchilled   500   30.9
##  6 Mn1   Mississippi nonchilled   675   32.4
##  7 Mn1   Mississippi nonchilled  1000   35.5
##  8 Mn2   Mississippi nonchilled    95   12  
##  9 Mn2   Mississippi nonchilled   175   22  
## 10 Mn2   Mississippi nonchilled   250   30.6
## # ... with 11 more rows

Dilihat juga data rumput Echinochloa crus-galli yang berasal dari Mississipi dan diberikan treatment pendinginan serta diurutkan berdasarkan laju penyerapan Co2 paling rendah.

Fungsi Filter & Arrange

#fungsi filter() dan fungsi arrange()
#dilihat data rumput yang berasal dari missisipi dan didinginkan

CO2 %>% filter(Type=="Mississippi" & Treatment=="chilled") %>% arrange(uptake)
## # A tibble: 21 x 5
##    Plant Type        Treatment  conc uptake
##    <ord> <fct>       <fct>     <dbl>  <dbl>
##  1 Mc2   Mississippi chilled      95    7.7
##  2 Mc1   Mississippi chilled      95   10.5
##  3 Mc3   Mississippi chilled      95   10.6
##  4 Mc2   Mississippi chilled     175   11.4
##  5 Mc2   Mississippi chilled     250   12.3
##  6 Mc2   Mississippi chilled     500   12.5
##  7 Mc2   Mississippi chilled     350   13  
##  8 Mc2   Mississippi chilled     675   13.7
##  9 Mc2   Mississippi chilled    1000   14.4
## 10 Mc1   Mississippi chilled     175   14.9
## # ... with 11 more rows

Dari data ingin dilihat laju penyerapan Co2 oleh rumput Echinochloa crus-galli permenitnya.

Fungsi Mutate

#fungsi mutate()
#laju penyerapan karbondioksida permenitnya
ut.permenit <- CO2 %>% mutate(uptake.permenit=uptake*60)
ut.permenit
## # A tibble: 84 x 6
##    Plant Type   Treatment   conc uptake uptake.permenit
##    <ord> <fct>  <fct>      <dbl>  <dbl>           <dbl>
##  1 Qn1   Quebec nonchilled    95   16               960
##  2 Qn1   Quebec nonchilled   175   30.4            1824
##  3 Qn1   Quebec nonchilled   250   34.8            2088
##  4 Qn1   Quebec nonchilled   350   37.2            2232
##  5 Qn1   Quebec nonchilled   500   35.3            2118
##  6 Qn1   Quebec nonchilled   675   39.2            2352
##  7 Qn1   Quebec nonchilled  1000   39.7            2382
##  8 Qn2   Quebec nonchilled    95   13.6             816
##  9 Qn2   Quebec nonchilled   175   27.3            1638
## 10 Qn2   Quebec nonchilled   250   37.1            2226
## # ... with 74 more rows

Selanjutnya hanya akan dipilih kolom Type, Treatment, uptake, dan uptake.permenit

Fungsi Select

#fungsi select()
#melihat asal rumput, treatment-nya dan konsentrasi karbon dioksida

ut.permenit1 <- ut.permenit %>% select(Type,Treatment,uptake,uptake.permenit) 
ut.permenit1
## # A tibble: 84 x 4
##    Type   Treatment  uptake uptake.permenit
##    <fct>  <fct>       <dbl>           <dbl>
##  1 Quebec nonchilled   16               960
##  2 Quebec nonchilled   30.4            1824
##  3 Quebec nonchilled   34.8            2088
##  4 Quebec nonchilled   37.2            2232
##  5 Quebec nonchilled   35.3            2118
##  6 Quebec nonchilled   39.2            2352
##  7 Quebec nonchilled   39.7            2382
##  8 Quebec nonchilled   13.6             816
##  9 Quebec nonchilled   27.3            1638
## 10 Quebec nonchilled   37.1            2226
## # ... with 74 more rows

Kolom yang telah terpilih tadi, datanya akan diurutkan berdasarkan uptake.permenit paling tinggi.

#fungsi arrange()
ut.permenit1 %>% arrange(desc(uptake.permenit))
## # A tibble: 84 x 4
##    Type   Treatment  uptake uptake.permenit
##    <fct>  <fct>       <dbl>           <dbl>
##  1 Quebec nonchilled   45.5            2730
##  2 Quebec nonchilled   44.3            2658
##  3 Quebec nonchilled   43.9            2634
##  4 Quebec nonchilled   42.9            2574
##  5 Quebec chilled      42.4            2544
##  6 Quebec nonchilled   42.1            2526
##  7 Quebec nonchilled   41.8            2508
##  8 Quebec nonchilled   41.4            2484
##  9 Quebec chilled      41.4            2484
## 10 Quebec nonchilled   40.6            2436
## # ... with 74 more rows

dapat dilihat bahwa laju penyerapan Co2 paling tinggi yaitu sebesar 45.5 mikromol/m^2/sec atau 2730 mikromol/m^2/minute terjadi pada rumput Echinochloa crus-galli yang berasal dari Quebec dan tidak diberikan treatment pendinginan. sedangkan laju penyerapan Co2 paling rendah yaitu sebesar 7.7 mikromol/m^2/sec atau 462 mikromol/m^2/minute terjadi pada rumput Echinochloa crus-galli yang berasal dari Mississippi dan diberikan treatment pendinginan.

Akan dilihat konsentrasi penyerapan Co2 dalam satuan mol/mL dan diurutkan data berdasarkan konsentrasi penyerapan Co2 dari yang paling tinggi sampai yang paling rendah untuk rumput Echinochloa crus-galli yang berasal dari Quebec dan tanpa treatment pendinginan.

Fungsi Mutate, Filter, Select, & Arrange

#fungsi mutate(), filter(), select(), arrange()

CO2 %>% mutate(conc.permL=conc/1000) %>%filter(Type=="Quebec" & Treatment=="nonchilled") %>% select(Type,Treatment,conc.permL) %>% arrange(desc(conc.permL))
## # A tibble: 21 x 3
##    Type   Treatment  conc.permL
##    <fct>  <fct>           <dbl>
##  1 Quebec nonchilled      1    
##  2 Quebec nonchilled      1    
##  3 Quebec nonchilled      1    
##  4 Quebec nonchilled      0.675
##  5 Quebec nonchilled      0.675
##  6 Quebec nonchilled      0.675
##  7 Quebec nonchilled      0.5  
##  8 Quebec nonchilled      0.5  
##  9 Quebec nonchilled      0.5  
## 10 Quebec nonchilled      0.35 
## # ... with 11 more rows

dapat dilihat bahwa rumput Echinochloa crus-galli yang berasal dari Quebec dan tanpa dilakukan treatment pendinginan, konsentrasi penyerapan Co2nya yang tertinggi sebesar 1 mol/mL dan yang paling rendah sebesar 0.095 mol/mL.