Anda di halaman 1dari 14

TUGAS PRAKTIKUM KOMPUTASI STATISTIKA

Disusun Oleh :

1. Adella Sari Cahyani .S. ( G151180011 )


2. Hadi Rachmat ( G151180061 )
3. Praditya Puspitaninggar ( G14150018 )

PROGRAM STUDI MAGISTER STATISTIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2019
TUGAS PRAKTIKUM
Sesi UAS | STK571 Komputasi Statistika

Soal : No 1
 Bangkitkanlah data populasi dengan peubah:
- No: 1 sd 500, 9001 sd 9500
- ID : G0001 sd G0500, G9001 sdG9500
- Kelas: P1 jika ID genap, dan P2 jika ID ganjil
- Tinggi : rnorm(1000, 165, 10)
- Indeks : rexp(1000,1)
 Hilangkan data variabel Indeks yang bernilai lebih dari1(menjadi missing value)

 Hitunglah rata-rata dari tinggi yang indeksnya ada

 Buatlah data sampel berukuran100 amatan dari kelas P1 yang indeksnya ada

 Hitunglah rata-rata dari tinggi pada data sampel yang terambil, lalu bandingkan dengan
populasi

Syntaks R :

> No1 <- 1:9


> No2 <- 10:99
> No3 <- 100:500
> No4 <- 9001:9500
> No <- c(No1,No2,No3,No4)
> ID1 <- paste("G",No1,sep="000")
> ID2 <- paste("G",No2,sep="00")
> ID3 <- paste("G",No3,sep="0")
> ID4 <- paste("G",No4,sep="")
> ID <- c(ID1,ID2,ID3,ID4)
> Kelas <- NULL
> for (i in 1:length(No)){
+ if (No[i]%%2==0) {
+ Kelas[i] <-"P1"}
+ else {
+ Kelas[i] <- "P2"}
+}
> Tinggi <- rnorm(1000,165,10)
> Indeks <- rexp(1000,1)
> Populasi <- data.frame(No,ID,Kelas,Tinggi,Indeks)
> Populasi
Output :

> lebih1 <- Populasi[Populasi$Indeks<1,]

> rataan_tinggi <- mean(lebih1$Tinggi)


> P1 <- lebih1[lebih1$Kelas=="P1",]
> sample1 <- P1[sample(100),]

> rataan_sampel1 <- mean(contoh$Tinggi)

Hitunglah rata-rata dari tinggi pada data sampel yang terambil, lalu bandingkan dengan
populasi :

Rata-rata dari tinggi pada data populasi : 165.0207

Rata-rata dari tinggi pada data sample : 163.9179


 Rata-rata dari tinggi pada data sampel akan mendekati nilai populasinya.
Soal : No 2 (Objek S4)
 Buatlah 2 buah objek S4 dengan kriteria:

- Kedua objek memiliki kelas yang berbeda


- Kelas kedua merupakan turunan (inherits) dari kelas pertama
- Setiap kelas memiliki beberapa method
- Kasus bebas(tidak ditentukan)

Syntaks R :

#No2
Kos <- function(Nama, Lokasi, Harga, Kamar){
Kos <- list(Nama=Nama, Lokasi=Lokasi,
Harga=Harga, Kamar=Kamar)
Kos
}
class(Kos) <- "Kos"
Kos1 <- Kos("Gardenia", "Perwira", 13000000, "A1")
Kos2 <- Kos("Wisma Asih", "Balebak", 4500000, "B2")
Kos3 <- Kos("Andalusia", "Bara", 7000000, "10")

Kamar <- function(Nama, Lokasi, Harga, NoKamar){


new<- list("kos", Nama=Nama, Lokasi=Lokasi,
Harga=Harga, Kamar=Kamar)
}

Kamar1 <- Kamar("Pondok Nuansa", "Bateng", 5500000,"22")

setClass("kos",
representation(Nama="character",
Lokasi="character",
Harga="numeric",
NoKamar="numeric"))
kos1 <- new("kos", Nama="PNS",
Lokasi="Bateng", Harga=5500000,
NoKamar=180)

Car <- function(Nama,Panjang,Lebar,Kecepatan){


new<-list("car", Nama=Nama, Panjang=Panjang,
Lebar=Lebar, Kecepatan=Kecepatan)
}
Car2 <- Car("Suzuki", 2.4, 1.8, 150)
class(Car2)
Output :
Soal : No 3 (Package dplyr)
 Package dplyr merupakan salah satu package yang dapat digunakan sebagai alternatif
untuk melakukan manajemen data frame (manipulasi data, agregasi data, pivoting).
 Pelajari dan lakukan manajemen data frame menggunakan package dplyr!
 Data yang digunakan dapat berupa data bangkitan baru ataupun data yang sudah ada
(lampirkan raw data atau syntax pembangkitan data saat pengumpulan tugas)
 Kasus (data) dan fungsi (jenis manajemen) bebas (tidak ditentukan)

Data :
Data diambil dari package ggplot 2 yang bernama diamonds
Keterangan variabel:
Price : Harga dalam USD
Carat : Bobot berlian (0.2-5.01)
Cut : Kualitas pemotongan berlian
Clarity : Seberapa cerah berlian
X : Panjang dalam mm
Y : lebar dalam mm
Z : kedalaman dalam mm
Depth : persentase kedalaman total
Table : lebar permukaan diamond

Syntaks :
#No3
library(dplyr)
library(ggplot2)
library(RColorBrewer)
head(diamonds)
#Filter
filter(diamonds, depth>50)
filter(diamonds, depth>50 & price>500)
diamonds %>%
filter(price>500 & (cut=="Premium"))%>%
ggplot(aes(x=color))+
ggtitle("Jumlah Berlian Premium >$500")+
geom_bar()

diamonds %>%
filter(price<500 & (cut=="Premium"))%>%
ggplot(aes(x=color))+
ggtitle("Jumlah Berlian Premium <$500")+
geom_bar()

#Variabel baru = Harga dalam Rp


df.diamonds <- mutate(diamonds, priceinRp=(price*14339.50))
ggplot(df.diamonds, aes(x=cut, y=carat, group=color)) +
geom_point(aes(color=color)) +
scale_color_brewer(palette="Set2") +
theme_minimal()
#mencari rataan harga
summarise(mean(price, na.rm=TRUE))
#mencari rataan harga berdasarkan warna
mean.by.color <- summarise(group_by(diamonds, color), mean(price,na.rm=TRUE))
#mencari rataan harga berdasarkan kualitas
summarise(group_by(diamonds, cut), mean(price,na.rm=TRUE))
#mengambil contoh sebanyak 100
sample_n(diamonds, size=100)
#mengambil contoh sebanyak 10% dari total data
sample_frac(diamonds, size=0.1)
#menghitung banyaknya diamond berdasarkan warna
count(diamonds, carat)
#sort desc price
arrange(diamonds, desc(price))
#Pipe
selected_carat = diamonds %>%
filter(carat>0.4)%>%
group_by(color)%>%
summarise(n())
ggplot(diamonds, aes(carat,price))+
geom_point(aes(color=cut))+
scale_color_brewer(palette = "Set1")+
ggtitle("Sebaran Diamond berdasarkan Karat dan Kualitas")
Output :
- Melihat raw data secara umum

- Memilih diamond dengan depth>50

- Diamond yang memiliki depth>50 dan harga>500


- Diamond yang memiliki depth>50 dan harga>500
- Membuat variabel baru berupa konversi harga ke dalam rupiah

- Sebaran berlian berdasarkan warna dan kualitas

- Rataan harga berlian keseluruhan

- Rataan harga tiap warna


- Rataan harga berdasarkan kualitas

- Mengambil contoh sebanyak n=100

- Mengambil contoh berdasarkan proporsi

- Menghitung jumlah berlian tiap warna


- Mengurutkan berlian berdasrkan harga yg paling tinggi

- Menghitung banyaknya berlian berdasarkan warna yang memiliki carat>0.4

Anda mungkin juga menyukai