Assalamualaikum warahmatullahi wabarakatuh, Robbi Zidni Ilma Warzuqni Fahma, Aamiin Semoga Allah senantiasa memberkahi kita, dan menganugerahkan kepada kita, Ilmu yang bermanfaat. Dalam modul ini, teman-teman akan belajar tentang pengenalan R. Penulis mengasumsikan bahwa temen-temen sudah terbiasa menggunakan software untuk melakukan proses penghitungan. Ya, memang sesederhana itu, R itu cuma seperti kalkulator saja. Tapi lebih advance. Buat temen-temen yang sudah mengenal Matlab, akan jauh lebih mudah. Modul ini disusun untuk temen-temen matematikawan yaa. So lets begin!
R adalah bahasa pemrograman dan perangkat lunak untuk analisis statistika dan grafik. R dibuat oleh Ross Ihaka dan Robert Gentleman di Universitas Auckland, Selandia Baru, dan kini dikembangkan oleh R Development Core Team, di mana Chambers merupakan anggotanya. R mendapatkan namanya dari dua orang pembuatnya (Robert Gentleman dan Ross Ihaka)
Bahasa R kini menjadi standar de facto di antara statistikawan digunakan untuk pengembangan perangkat lunak statistika, serta digunakan secara luas untuk pengembangan perangkat lunak statistika dan analisis data
R adalah bahasa pemrogramannya. Software R adalah software untuk menggunakan bahasa R. Software paling sederhana untuk bahasa pemrograman R adalah R console. Ini hanya berupa satu buah windows untuk coding input dan sebuah windows untuk output. R Studio membuat R semakin mudah digunakan. R Studio merupakan software dengan antarmuka yang jauh lebih lengkap. Untuk selengkapnya coba kunjungi link berikut:
Pertama, temen-temen akan mencoba pengalaman melakukan coding dengan R. Untuk matematikawan, kita mulai dengan operasi matematika sederhana.
# Setelah tanda Pagar, Kode tidak dijalankan, Ini hanya pagar
# Boleh diedit kok, beneran
6 + 2 # => 8
## [1] 8
7 - 8 # => -1
## [1] -1
9 / 2 # => 4.5
## [1] 4.5
6 * 2 # => 12
## [1] 12
log10(10) # => 1
## [1] 1
abs(-3) # => 3
## [1] 3
sqrt(9) # => 3
## [1] 3
Dalam matematika, temen-temen pasti atu donk Variabel. Nah untuk membuat, atau menuliskan variable maka ditulis dengan :
"nama_variabel" <- nilai
Isi variabel biasanya numeric, tapi bisa juga berupa character, string, atau bahkan tipe data lainnya.
Harga_apple <- 2 #Membuat Variabel
Harga_apple #Menampilkan Nilai Variabel
## [1] 2
Rasulullah <- "Muhammad" #Membuat Variabel
Rasulullah #Menampilkan Nilai Variabel
## [1] "Muhammad"
#Coba dihapus tanda pagar di bawah ini!!!
#2ikan <- 5000 #Harusnya Error, Kenapa yaaa?
my_age <- 28 # Variabel Numeric
my_age
## [1] 28
my_name <- "Nicolas" # Variabel Character
my_name
## [1] "Nicolas"
is_datascientist <- TRUE # Variabel Logical (TRUE/FALSE)
is_datascientist
## [1] TRUE
Vektor: kombinasi beberapa nilai (numerik, karakter, atau logika)
# Membuat Vektor Numeric
friend_ages <- c(27, 25, 29, 26)
mean(friend_ages) # => 26.75
## [1] 26.75
max(friend_ages) # => 29
## [1] 29
length(friend_ages) # => 4
## [1] 4
# Membuat Vektor Charakter
nama_mahasiswa <- c("Budi", "Cahyadi", "Dedi")
# Mengakses Elemen Vektor
nama_mahasiswa
## [1] "Budi" "Cahyadi" "Dedi"
nama_mahasiswa[2]
## [1] "Cahyadi"
nama_mahasiswa[2:3]
## [1] "Cahyadi" "Dedi"
*Fungsi-fungsi terkait matriks pada R: matrix(), cbind(), rbind(), rownames(), colnames()
Mengecek dan mengkonversi: is.matrix(), as.matrix() Transpose matriks: t() Melihat dimensi/ukuran matriks: ncol(), nrow(), dim() Mengambil subset matriks: my_data[row, col] *Fungsi operasi pada matriks: rowSums(), colSums(), rowMeans(), colMeans(), apply()
A <- matrix(c(1,2,3,4), # Isi Matriks
nrow = 2, # Jumlah Baris
ncol = 2, # Jumlah Kolom
byrow = TRUE) # Dibuat berdasarkan Baris
print("matriks A")
## [1] "matriks A"
A # Menampilkan matriks
## [,1] [,2]
## [1,] 1 2
## [2,] 3 4
B <- matrix(c(1,2,3,4), # Isi Matriks
nrow = 2, # Jumlah Baris
ncol = 2, # Jumlah Kolom
byrow = FALSE) # Dibuat berdasarkan Kolom
print("matriks B")
## [1] "matriks B"
B
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
C <- matrix(c(1,2,3,4), # Isi Matriks
nrow = 5, # Jumlah Baris
ncol = 4, # Jumlah Kolom
byrow = TRUE) # Dibuat berdasarkan Baris
print("matriks C")
## [1] "matriks C"
C # Menampilkan matriks
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 1 2 3 4
## [3,] 1 2 3 4
## [4,] 1 2 3 4
## [5,] 1 2 3 4
D <- matrix(c(1,2,3,4), # Isi Matriks
nrow = 4, # Jumlah Baris
ncol = 5, # Jumlah Kolom
byrow = FALSE) # Dibuat berdasarkan Kolom
print("matriks D")
## [1] "matriks D"
D
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 1 1 1 1
## [2,] 2 2 2 2 2
## [3,] 3 3 3 3 3
## [4,] 4 4 4 4 4
# Membuat faktor
friend_groups <- factor(c("grp1", "grp2", "grp1", "grp2"))
levels(friend_groups) # => "grp1", "grp2"
## [1] "grp1" "grp2"
# menghitung rata-rata
friend_ages <- c(27, 25, 29, 26)
tapply(friend_ages, friend_groups, mean)
## grp1 grp2
## 28.0 25.5
nama <- c("Ana","Banu", "Cici", "Dido", "Erik")
tahun <- c(1992,1995,1993,1999,1994)
lahir <- data.frame(nama, tahun)
lahir
## nama tahun
## 1 Ana 1992
## 2 Banu 1995
## 3 Cici 1993
## 4 Dido 1999
## 5 Erik 1994
summary(lahir)
## nama tahun
## Length:5 Min. :1992
## Class :character 1st Qu.:1993
## Mode :character Median :1994
## Mean :1995
## 3rd Qu.:1995
## Max. :1999
my_family <- list(
mother = "Veronique",
father = "Michel",
sisters = c("Alicia", "Monica"),
sister_age = c(12, 22)
)
# Print
my_family
## $mother
## [1] "Veronique"
##
## $father
## [1] "Michel"
##
## $sisters
## [1] "Alicia" "Monica"
##
## $sister_age
## [1] 12 22
# Subset
my_family$mother
## [1] "Veronique"