Load the iris dataset
# Paket dataset perlu dimuat untuk mengakses data kami
# Untuk daftar lengkap kumpulan data ini, ketik library(help = "datasets")
library(datasets)
data(iris)
summary(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
Fungsi summary() memberikan statistik ringkasan untuk kumpulan data apa pun. Itu juga dapat dipanggil pada satu variabel, bukan pada seluruh dataset. Coba summary(iris$Sepal.Length) dan bandingkan dengan ringkasan di atas.
Atau, Anda mungkin hanya ingin mengetahui nama kolom dari kumpulan data Anda, dalam hal ini Anda dapat menggunakan names(NameOfdataset), yang dalam kasus kami akan terlihat seperti names(iris). Perhatikan juga bahwa setiap nama kolom dalam set data iris memiliki beberapa huruf besar, yang mungkin tidak bisa untuk digunakan. Anda kemudian dapat memanggil fungsi tolower() pada names(iris) untuk membuat perubahan ini. Bagi mereka yang mungkin lebih suka nama kolom huruf besar, fungsi toupper() akan berguna.
The dplyr package Gunakan install.packages(“dplyr”) di dalam console untuk menginstal package ini filter()
names(iris) <- tolower(names(iris))
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
# filter() data untuk spesies virginica
virginica <- filter(iris, species == "virginica")
head(virginica) # Ini menampilkan enam baris pertama
## sepal.length sepal.width petal.length petal.width species
## 1 6.3 3.3 6.0 2.5 virginica
## 2 5.8 2.7 5.1 1.9 virginica
## 3 7.1 3.0 5.9 2.1 virginica
## 4 6.3 2.9 5.6 1.8 virginica
## 5 6.5 3.0 5.8 2.2 virginica
## 6 7.6 3.0 6.6 2.1 virginica
sepalLength6 <- filter(iris, species == "virginica", sepal.length > 6)
tail(sepalLength6)
## sepal.length sepal.width petal.length petal.width species
## 36 6.8 3.2 5.9 2.3 virginica
## 37 6.7 3.3 5.7 2.5 virginica
## 38 6.7 3.0 5.2 2.3 virginica
## 39 6.3 2.5 5.0 1.9 virginica
## 40 6.5 3.0 5.2 2.0 virginica
## 41 6.2 3.4 5.4 2.3 virginica
Sintaks untuk menggunakan subset() akan menjadi subset(iris, spesies == “virginica” & sepal.length > 6) dan menggunakan <- untuk menetapkannya ke variabel pilihan, yang dalam kasus ini adalah sepalLength6.
select() Fungsi ini memilih data berdasarkan nama kolom. Dapat memilih sejumlah kolom dengan beberapa cara berbeda.
# select() spesifik kolom
selected <- select(iris, sepal.length, sepal.width, petal.length)
# select semua kolom dari sepal.length to petal.length
selected2 <- select(iris, sepal.length:petal.length)
head(selected, 3)
## sepal.length sepal.width petal.length
## 1 5.1 3.5 1.4
## 2 4.9 3.0 1.4
## 3 4.7 3.2 1.3
Visualization
plot(iris)
Jika kita ingin memplot variabel tertentu, kita dapat menggunakan plot(x,y) di mana x dan y adalah variabel yang kita minati. history() adalah fungsi lain yang berguna
plot(iris$sepal.width, iris$sepal.length)
hist akan memberi Anda detail tentang lebih banyak argumen
hist(iris$sepal.width)
JELAJAHI VARIABEL INDIVIDU
Frekuensi faktor dapat dihitung dengan tabel fungsi(), dan kemudian diplot sebagai pie chart dengan pie() atau diagram batang dengan barplot().
table(iris$Species)
## < table of extent 0 >
pie(table(iris$species))
JELAJAHI BEBERAPA VARIABEL Setelah memeriksa distribusi variabel individu, kami kemudian menyelidiki hubungan antara dua variabel. Di bawah ini kami menghitung kovarians dan korelasi antar variabel dengan cov() dan cor().
cov(iris$sepal.length, iris$petal.length)
## [1] 1.274315
cov(iris[,1:4])
## sepal.length sepal.width petal.length petal.width
## sepal.length 0.6856935 -0.0424340 1.2743154 0.5162707
## sepal.width -0.0424340 0.1899794 -0.3296564 -0.1216394
## petal.length 1.2743154 -0.3296564 3.1162779 1.2956094
## petal.width 0.5162707 -0.1216394 1.2956094 0.5810063
cor(iris$sepal.length, iris$petal.length)
## [1] 0.8717538
cor(iris[,1:4])
## sepal.length sepal.width petal.length petal.width
## sepal.length 1.0000000 -0.1175698 0.8717538 0.8179411
## sepal.width -0.1175698 1.0000000 -0.4284401 -0.3661259
## petal.length 0.8717538 -0.4284401 1.0000000 0.9628654
## petal.width 0.8179411 -0.3661259 0.9628654 1.0000000
Selanjutnya, menghitung statistik Sepal.Length dari setiap Spesies dengan agregat().
aggregate(iris$sepal.length ~ iris$species, summary, data=iris)
## iris$species iris$sepal.length.Min. iris$sepal.length.1st Qu.
## 1 setosa 4.300 4.800
## 2 versicolor 4.900 5.600
## 3 virginica 4.900 6.225
## iris$sepal.length.Median iris$sepal.length.Mean iris$sepal.length.3rd Qu.
## 1 5.000 5.006 5.200
## 2 5.900 5.936 6.300
## 3 6.500 6.588 6.900
## iris$sepal.length.Max.
## 1 5.800
## 2 7.000
## 3 7.900
Plot pencar dapat digambar untuk dua variabel numerik dengan plot() seperti di bawah ini. Menggunakan fungsi with(), kita tidak perlu menambahkan “iris$” sebelum nama variabel. Dalam kode di bawah ini, warna (col) dan simbol (pch) titik diatur ke Spesies
with(iris, plot(sepal.length, sepal.width, col=species,pch=as.numeric(species)))
Ketika ada banyak titik, beberapa di antaranya mungkin tumpang tindih. Kita dapat menggunakan jitter() untuk menambahkan kecil jumlah noise pada data sebelum diplot.
plot(jitter(iris$sepal.length), jitter(iris$sepal.width))
Eksplorasi Lainnya Bagian ini menyajikan beberapa plot 3D, plot level, plot kontur, interaktif plot dan koordinat paralel.
Plot 3D menggunakan package scatterplot3d
library(scatterplot3d)
scatterplot3d(iris$petal.width, iris$sepal.length, iris$sepal.width)
dengan dist() dan kemudian plot dengan peta menunjukkan ukuran panas.
distMatrix <- as.matrix(dist(iris[,1:4]))
heatmap(distMatrix)
Save Charts into Files
# Simpan ke PDF File
pdf("myPlot.pdf")
x <- 1:50
plot(x, log(x))
graphics.off()
#
# Simpan ke postscript File
postscript("myPlot2.ps")
x <- -20:20
plot(x, x^2)
graphics.off()
Daftar pustaka
Zhao, Yanchang. (2012). R and Data Mining: Examples and Case Studies.