2 + 3
## [1] 5
a <- 10
b <- 5
c <- a + b
vektor <- c(1, 2, 3, 4, 5)
vektor
## [1] 1 2 3 4 5
warna <- c("Merah", "Biru", "Hijau", "Merah", "Biru", "Hijau", "Merah")
warna
## [1] "Merah" "Biru" "Hijau" "Merah" "Biru" "Hijau" "Merah"
data_karyawan <- data.frame(
Nama = c("Andi", "Budi", "Citra", "Dewi"),
Usia = c(25, 30, 27, 35),
Pekerjaan = factor(c("Pegawai", "Wirausaha", "Mahasiswa", "Pegawai"))
)
print(data_karyawan)
## Nama Usia Pekerjaan
## 1 Andi 25 Pegawai
## 2 Budi 30 Wirausaha
## 3 Citra 27 Mahasiswa
## 4 Dewi 35 Pegawai
summary(data_karyawan)
## Nama Usia Pekerjaan
## Length:4 Min. :25.00 Mahasiswa:1
## Class :character 1st Qu.:26.50 Pegawai :2
## Mode :character Median :28.50 Wirausaha:1
## Mean :29.25
## 3rd Qu.:31.25
## Max. :35.00
array_data <- array(1:24, dim = c(3, 4, 2))
print(array_data)
## , , 1
##
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
##
## , , 2
##
## [,1] [,2] [,3] [,4]
## [1,] 13 16 19 22
## [2,] 14 17 20 23
## [3,] 15 18 21 24
dim(array_data)
## [1] 3 4 2
nilai <- c(90, 85, NA, 75, 80, NA, 95)
is.na(nilai)
## [1] FALSE FALSE TRUE FALSE FALSE TRUE FALSE
sum(is.na(nilai))
## [1] 2
x1 <- seq(0, 10, length=5)
x1
## [1] 0.0 2.5 5.0 7.5 10.0
x2 <- seq(0,10,length=6)
x2
## [1] 0 2 4 6 8 10
x3 <- seq(0,10,length=7)
x3
## [1] 0.000000 1.666667 3.333333 5.000000 6.666667 8.333333 10.000000
round(x3)
## [1] 0 2 3 5 7 8 10
floor(x3)
## [1] 0 1 3 5 6 8 10
ceiling(x3)
## [1] 0 2 4 5 7 9 10
nilai<- c(90, 85, NA, 95)
is.na(nilai)
## [1] FALSE FALSE TRUE FALSE
sum(is.na(nilai))
## [1] 1
x1 <- seq(0, 10, length=5)
x1
## [1] 0.0 2.5 5.0 7.5 10.0
x2 <- seq(0,10,length=6)
x2
## [1] 0 2 4 6 8 10
x3 <- seq(0,10,length=7)
x3
## [1] 0.000000 1.666667 3.333333 5.000000 6.666667 8.333333 10.000000
x4<- seq(1,10,length=10)
x4
## [1] 1 2 3 4 5 6 7 8 9 10
round(x3)
## [1] 0 2 3 5 7 8 10
floor(x3)
## [1] 0 1 3 5 6 8 10
ceiling(x3)
## [1] 0 2 4 5 7 9 10
rep(c("A", "B", "C"), 5)
## [1] "A" "B" "C" "A" "B" "C" "A" "B" "C" "A" "B" "C" "A" "B" "C"
rep(c("A", "B", "C"), each=5)
## [1] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "C" "C" "C" "C" "C"
rep(c("A", "B", "C"), each=2, 5)
## [1] "A" "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C" "A"
## [20] "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C"
rep(1:5, 5)
## [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
rep(1:5, each=5)
## [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
rep(1:5, each=2, 5)
## [1] 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4
## [39] 5 5 1 1 2 2 3 3 4 4 5 5
x <- c(3, 4, 5, 6)
y <- c(2, 3, 4, 5, 6, 6)
min(x)
## [1] 3
max(y)
## [1] 6
mean(x)
## [1] 4.5
var(y)
## [1] 2.666667
cor(x, y[1:length(x)])
## [1] 1
range(x)
## [1] 3 6
range(y)
## [1] 2 6
set.seed(123)
sample(0:1, 30, replace = TRUE)
## [1] 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1
sample(c("A", "G"), 15, replace = TRUE)
## [1] "A" "G" "A" "G" "G" "A" "A" "A" "A" "G" "A" "G" "G" "A" "A"
sample(1:6, 30, replace = TRUE)
## [1] 1 1 2 3 4 5 5 3 6 1 2 5 5 4 5 2 1 1 3 1 6 5 1 2 4 4 6 6 3 6
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
##
## 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
library(data.table)
## Warning: package 'data.table' was built under R version 4.3.3
##
## Attaching package: 'data.table'
## The following objects are masked from 'package:dplyr':
##
## between, first, last
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
data <- tbl_df(iris)
## Warning: `tbl_df()` was deprecated in dplyr 1.0.0.
## ℹ Please use `tibble::as_tibble()` instead.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
class(data)
## [1] "tbl_df" "tbl" "data.frame"
data
## # A tibble: 150 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## # ℹ 140 more rows
data_slice <- slice(data, 1:10)
data_slice
## # A tibble: 10 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
arrange(data_slice, desc(data_slice$Sepal.Length))
## # A tibble: 10 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.4 3.9 1.7 0.4 setosa
## 2 5.1 3.5 1.4 0.2 setosa
## 3 5 3.6 1.4 0.2 setosa
## 4 5 3.4 1.5 0.2 setosa
## 5 4.9 3 1.4 0.2 setosa
## 6 4.9 3.1 1.5 0.1 setosa
## 7 4.7 3.2 1.3 0.2 setosa
## 8 4.6 3.1 1.5 0.2 setosa
## 9 4.6 3.4 1.4 0.3 setosa
## 10 4.4 2.9 1.4 0.2 setosa
datatable <- data.table(iris)
datatable
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <num> <num> <num> <num> <fctr>
## 1: 5.1 3.5 1.4 0.2 setosa
## 2: 4.9 3.0 1.4 0.2 setosa
## 3: 4.7 3.2 1.3 0.2 setosa
## 4: 4.6 3.1 1.5 0.2 setosa
## 5: 5.0 3.6 1.4 0.2 setosa
## ---
## 146: 6.7 3.0 5.2 2.3 virginica
## 147: 6.3 2.5 5.0 1.9 virginica
## 148: 6.5 3.0 5.2 2.0 virginica
## 149: 6.2 3.4 5.4 2.3 virginica
## 150: 5.9 3.0 5.1 1.8 virginica
datatable$new_col <- datatable$Species
datatable$new_col
## [1] setosa setosa setosa setosa setosa setosa
## [7] setosa setosa setosa setosa setosa setosa
## [13] setosa setosa setosa setosa setosa setosa
## [19] setosa setosa setosa setosa setosa setosa
## [25] setosa setosa setosa setosa setosa setosa
## [31] setosa setosa setosa setosa setosa setosa
## [37] setosa setosa setosa setosa setosa setosa
## [43] setosa setosa setosa setosa setosa setosa
## [49] setosa setosa versicolor versicolor versicolor versicolor
## [55] versicolor versicolor versicolor versicolor versicolor versicolor
## [61] versicolor versicolor versicolor versicolor versicolor versicolor
## [67] versicolor versicolor versicolor versicolor versicolor versicolor
## [73] versicolor versicolor versicolor versicolor versicolor versicolor
## [79] versicolor versicolor versicolor versicolor versicolor versicolor
## [85] versicolor versicolor versicolor versicolor versicolor versicolor
## [91] versicolor versicolor versicolor versicolor versicolor versicolor
## [97] versicolor versicolor versicolor versicolor virginica virginica
## [103] virginica virginica virginica virginica virginica virginica
## [109] virginica virginica virginica virginica virginica virginica
## [115] virginica virginica virginica virginica virginica virginica
## [121] virginica virginica virginica virginica virginica virginica
## [127] virginica virginica virginica virginica virginica virginica
## [133] virginica virginica virginica virginica virginica virginica
## [139] virginica virginica virginica virginica virginica virginica
## [145] virginica virginica virginica virginica virginica virginica
## Levels: setosa versicolor virginica
setkey(datatable, Species)
key(datatable)
## [1] "Species"
datatable[,.(mean=mean(Sepal.Length), IQR=IQR(Sepal.Length), median=median(Sepal.Length)), by=Species]
## Key: <Species>
## Species mean IQR median
## <fctr> <num> <num> <num>
## 1: setosa 5.006 0.400 5.0
## 2: versicolor 5.936 0.700 5.9
## 3: virginica 6.588 0.675 6.5
plot_data <- ggplot(data,aes(x=Sepal.Length, y=Sepal.Width)) + geom_point(aes(colour=Species))
plot_data
##TUGAS LATIHAN WEEK 2
1.Ketikkan perintah di bawah ini dan berikan pernyataan apa saja yang dapat kalian peroleh dari perintah tersebut! —————————————————– nama_vector <- c(5,FALSE,“true”,“8.3”,“Statistika”) nama_vector —————————————————–
nama_vector <- c(5, FALSE, "true", "8.3", "Statistika")
nama_vector
## [1] "5" "FALSE" "true" "8.3" "Statistika"
2.Cobalah untuk membuat List dengan nama contoh_list yang memiliki elemen sama dengan Latihan no.1, dan panggil seluruh elemen. Berikan perbedaan list dan vector yang dapat kalian peroleh setelah melakukan perintah tersebut
contoh_list <- list(5, FALSE, "true", "8.3", "Statistika")
contoh_list
## [[1]]
## [1] 5
##
## [[2]]
## [1] FALSE
##
## [[3]]
## [1] "true"
##
## [[4]]
## [1] "8.3"
##
## [[5]]
## [1] "Statistika"
3.Dalam melakukan pemanggilan elemen, kita dapat menggunakan index elemen atau nama kolom. Buatlah data frame dengan nama kelompok_kkn berupa tabel tiga kolom terdiri atas: nama,nim, dan prodi. Isikan minimal 10 baris. Lakukan eksperimen pemanggilan isi tabel, meliputi pemanggilan baris, kolom, dan elemen tabel. Jelaskan mengenai perbedaan cara pemanggilan dalam data frame tersebut
kelompok_kkn <- data.frame(
nama = c("Ale", "Aya", "Claisa", "Didy", "Danu", "Ibay", "Kale", "Kafin", "Luna", "Opi"),
nim = c(12388, 13308, 12439, 12510, 12389, 13450, 12151, 12992, 13377, 12054),
prodi = c("Hubungan Inernasional", "Matematika", "Hukum", "Ilmu Komunikasi", "Hubungan Internasional", "Statistika", "IT", "Fisika", "Teknik Sipil", "Psikologi")
)
kelompok_kkn
## nama nim prodi
## 1 Ale 12388 Hubungan Inernasional
## 2 Aya 13308 Matematika
## 3 Claisa 12439 Hukum
## 4 Didy 12510 Ilmu Komunikasi
## 5 Danu 12389 Hubungan Internasional
## 6 Ibay 13450 Statistika
## 7 Kale 12151 IT
## 8 Kafin 12992 Fisika
## 9 Luna 13377 Teknik Sipil
## 10 Opi 12054 Psikologi
kelompok_kkn$nama
## [1] "Ale" "Aya" "Claisa" "Didy" "Danu" "Ibay" "Kale" "Kafin"
## [9] "Luna" "Opi"
kelompok_kkn[ , "nim"]
## [1] 12388 13308 12439 12510 12389 13450 12151 12992 13377 12054
kelompok_kkn[5, ] # Baris ke-5
## nama nim prodi
## 5 Danu 12389 Hubungan Internasional
kelompok_kkn[2, 3]
## [1] "Matematika"
4.Buatlah data frame yang beberapa datanya berupa missing value. Carilah letak atau posisi data yang berupa missing value tersebut dengan menggunakan perintah is.na.
data_na <- data.frame(
nama = c("Ale", "Aya", "Claisa", "Didy", "Danu", NA, "Kale", "Kafin", "Luna", "Opi"),
umur = c(20, 23, NA, 21, 20, 21, NA, 19, 21, 20),
nilai = c(90, 85, 88, NA, 92, 87, 89, NA, 86, 91)
)
# Mencari posisi missing values
which(is.na(data_na))
## [1] 6 13 17 24 28
which(is.na(data_na), arr.ind = TRUE)
## row col
## [1,] 6 1
## [2,] 3 2
## [3,] 7 2
## [4,] 4 3
## [5,] 8 3