R adalah suatu sistem untuk analisis data yang termasuk kelompok software
statistik open source yang tidak memerlukan lisensi atau gratis, yang dikenal
dengan freeware. Sampai saat ini, pengguna statistika di Indonesia masih belum banyak
yang menggunakan R untuk keperluan analisis data. Sebagian besar pengguna statistika
di Indonesia masih menggunakan paket‐paket statistik komersil, seperti SPSS, MINITAB,
S‐plus, SAS, atau Eviews.
Bahasa R merupakan sebuah bahasa pemrograman yang mampu melakukan
analisis data dengan dukungan packages yang sangat banyak. RStudio dan RGui ini
menggunakan bahasa R yaitu bahasa yang merupakan open source dari bahasa S. Sedikit
membandingkan antara RStudio dan RGui, terdapat beberapa perbedaan yang tidak
terlalu signifikan antara keduanya. RStudio lebih dimudahkan dalam hal melakukan
analisis dan tampilan menarik dibandingkan dengan RGui. Kemudian dalam pengaktifan
package pada RStudio hanya perlu mencentang saja pada kotak yang disediakan. Dalam
masalah penggunaan hardware komputer RStudio lebih membutuhkan spesifikasi atau
penggunaan hardware yang lebih besar dari pada RGui.
$vectors
[,1] [,2]
[1,] -0.1187860 -0.9412172
[2,] -0.9929199 0.3378019
Kolom dan baris suatu matriks dapat diberikan nama dengan fungsi
colnames( ) dan rownames( ). Untuk mencetak satu atau beberapa elemen di
dalam matriks, caranya hampir sama dengan mencetak elemen di dalam
vektor, hanya saja perlu diketahui baris dan kolom ke berapa yang akan
dicetak. Perhatikan contoh berikut.
> rownames(my_mat1) <- c("ROW1","ROW2")
> colnames(my_mat1) <- c("COL_1",'COL_2')
> my_mat1
COL_1 COL_2
ROW1 2 1
ROW2 3 10
> my_mat1[2,] #my_mat1[indeks_baris, indeks_kolom]
COL_1 COL_2
3 10
> my_mat1[,2]
ROW1 ROW2
1 10
Data frame sama dengan matriks, yaitu memiliki baris dan kolom.
Karakteristik dari data frame, yaitu nama kolom tidak boleh kosong, bentuk
data numerik, faktor, atau karakter dapat disimpan di dalam data frame, dan
setiap kolom harus memiliki jumlah baris yang sama (mis. jumlah baris pada
kolom ke-n dan ke-n+1 harus sama). Keunggulan dari data frame salah
satunya dapat mengetahui ukuran pemusatan data secara statistik.
Perhatikan contoh berikut.
> my_df1 = data.frame(kolom_1 = c(2,3,4,5,6), kolom_2
= c(3,4,10,200,3))
> my_df1
kolom_1 kolom_2
1 2 3
2 3 4
3 4 10
4 5 200
5 6 3
> summary(my_df1)
kolom_1 kolom_2
Min. :2 Min. : 3
1st Qu.:3 1st Qu.: 3
Median :4 Median : 4
Mean :4 Mean : 44
3rd Qu.:5 3rd Qu.: 10
Max. :6 Max. :200
Elemen dalam data frame dapat dicetak sama seperti bentuk matriks atau
variabel yang diikuti dengan tanda “$” kemudian nama kolom. Selain itu,
beberapa elemen lain juga dapat ditambahkan pada variabel data frame.
> my_df1$kolom_1
[1] 2 3 4 5 6
> my_df1$kolom_baru <- c("a","b","c","d",'e')
> my_df1
kolom_1 kolom_2 kolom_baru
1 2 3 a
2 3 4 b
3 4 10 c
4 5 200 d
5 6 3 e
> #ATAU
> my_df1[,"kolom_baru"] <- c("a","b","c","d",'e')
> my_df1
kolom_1 kolom_2 kolom_baru
1 2 3 a
2 3 4 b
3 4 10 c
4 5 200 d
5 6 3 e
Call:
lm(formula = suhu_perm_obs$Suhu.Permukaan..obs. ~
suhu_perm_wrf$Suhu.Permukaan..WRF.)
Residuals:
Min 1Q Median 3Q Max
-8.3065 -1.1650 0.1951 1.3716 11.5425
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.07724 0.55799 -1.931 0.0545 .
suhu_perm_wrf$Suhu.Permukaan..WRF. 1.12969 0.02427 46.547 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Data-data cuaca dan iklim berformat Network Common Data Form (NetCDF) saat
ini lebih banyak digunakan, terutama pada luaran model-model iklim. NetCDF
merupakan satu set software dalam bentuk kumpulan library dengan kemampuan self-
describing sebagai mesin format data independen untuk keperluan akses dan sharing
data-data Aplikasi visualisasi dan pengolah data NetCDF yang umum digunakan dalam
bidang meteorologi dan klimatologi, yaitu The Grid Analysis and Display System (GrADS)
oleh The Center for Ocean-Land-Atmosphere Studies (COLA), NCAR Command Language
(NCL) oleh National Center of Atmospheric Research (NCAR), dan Matlab. Contoh
aplikasi lain untuk menampilkan data NetCDF secara sederhana, yaitu Panoply
(http://www.giss.nasa.gov/tools/panoply)
ncdump -h <nama_file.nc>
Gambar 7. Contoh luaran descriptor file NetCDF menggunakan terminal Ubuntu pada
Windows 10
Package pada R yang akan digunakan pada modul ini adalah ncdf4 (Pierce 2019).
Package lain seperti RNetCDF (Michna dan Woods 2017) juga dapat digunakan dalam
pengolahan data NetCDF, hanya saja berbeda pada fungsi perintahnya.
4 dimensions:
level Size:8
units: millibar
long_name: Level
positive: down
GRIB_id: 100
GRIB_name: hPa
actual_range: 1000
actual_range: 300
axis: Z
lat Size:73
units: degrees_north
actual_range: 90
actual_range: -90
long_name: Latitude
standard_name: latitude
axis: Y
lon Size:144
units: degrees_east
long_name: Longitude
actual_range: 0
actual_range: 357.5
standard_name: longitude
axis: X
time Size:859 *** is unlimited ***
long_name: Time
delta_t: 0000-01-00 00:00:00
avg_period: 0000-01-00 00:00:00
prev_avg_period: 0000-00-01 00:00:00
standard_name: time
axis: T
units: hours since 1800-01-01 00:00:0.0
actual_range: 1297320
actual_range: 1924056
9 global attributes:
description: Data is from NMC initialized reanalysis
(4x/day). It consists of most variables interpolated to
pressure surfaces from model (sigma) surfaces.
platform: Model
Conventions: COARDS
NCO: 20121012
history: Mon Jul 5 22:28:55 1999: ncrcat
shum.mon.mean.nc
/Datasets/ncep.reanalysis.derived/pressure/shum.mon.mean.nc
/dm/dmwork/nmc.rean.ingest/combinedMMs/shum.mon.mean.nc
/home/hoop/crdc/cpreanjuke2farm/cpreanjuke2farm Tue Oct 17
20:07:08 1995 from shum.85.nc
created 95/02/06 by Hoop (netCDF2.3)
Converted to chunked, deflated non-packed NetCDF4 2014/09
title: monthly mean shum from the NCEP Reanalysis
References:
http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.
derived.html
dataset_title: NCEP-NCAR Reanalysis 1
_NCProperties: version=2,netcdf=4.6.2,hdf5=1.8.20
Dari descriptor file dikatakan bahwa data reanalisis kelembaban spesifik global
memiliki 4 dimensi, yaitu longitude, latitude, level (ketinggian), dan waktu.
#plotting
levelplot(shum.indo ~ lon*lat, data = grid.indo, at = interval.shum,
cuts = length(interval.shum), pretty = TRUE,
col.regions = colorRampPalette(c("red","yellow","blue"))) +
layer(sp.polygons(indonesia))
Selain dalam bentuk raster, variabel di atas bisa juga ditampilkan dalam
bentuk kontur. Package tambahan yang diperlukan adalah maps (Becker et al.
2018).
library(maps)
#Plotting kontur
filled.contour(x = seq(95, 140, len=length(lon.indo)), y = seq(-12.5,
7.5, len =length(lat.indo)), z = indo.koor, levels =
seq(16,24,0.1), color.palette = warna, plot.axes
={axis(1); axis(2);map('world2','indonesia', add = TRUE);
grid()})