Data Frame adalah isian data untuk menampikan data tertentu yang ingin kita olah dengan menggunakan R Studio. Pada Praktikum kali ini kita akan melakukan prkatik membuat data frame dengan kombinasi menggunakan chat gpt # Membuat data frame
data <- data.frame( Nama = c(“Rudi”, “Budi”, “Adi”, “Burhan”, “Sapta”), Umur = c(23, 25, 36, 45, 40), Kota = c(“Makassar”, “Jakarta”, “Jakarta”, “Jayapura”, “Kupang”) )
print(data)
data2 <- data.frame( Nama = c(“Budi”, “Rudi”, “Joko”, “Widodo”, “Abdul”, “Dian”, “Sastro”, “Mega”, “wati”, “Gusdur”), Kota = c(“Jakarta”, “Jakarta”, “Medan”, “Medan”, “Kupang”, “Banjarmasin”, “Banjarmasin”, “Surabaya”, “Manado”, “Palu”), Status = c(“Lulus”, “Lulus”, “Lulus”, “Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”) )
print(data2)
data2 <- data.frame( Nama = c(“Budi”, “Rudi”, “Joko”, “Widodo”, “Abdul”, “Dian”, “Sastro”, “Mega”, “wati”, “Gusdur”), Kota = c(“Jakarta”, “Jakarta”, “Medan”, “Medan”, “Kupang”, “Banjarmasin”, “Banjarmasin”, “Surabaya”, “Manado”, “Palu”), Status = c(“Lulus”, “Lulus”, “Lulus”, “Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”) )
barplot( height = table(data2\(Nama), names.arg = data2\)Nama, col = rainbow(length(data2$Nama)), # warna berbeda untuk tiap batang main = “Jumlah Data per Nama”, xlab = “Nama”, ylab = “Frekuensi”, las = 2 # Membuat label x-axis miring ke vertikal agar terbaca )
install.packages(“ggplot2”)
data2 <- data.frame( Nama = c(“Budi”, “Rudi”, “Joko”, “Widodo”, “Abdul”, “Dian”, “Sastro”, “Mega”, “wati”, “Gusdur”), Kota = c(“Jakarta”, “Jakarta”, “Medan”, “Medan”, “Kupang”, “Banjarmasin”, “Banjarmasin”, “Surabaya”, “Manado”, “Palu”), Status = c(“Lulus”, “Lulus”, “Lulus”, “Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”) )
jumlah_per_kota <- table(data2$Kota)
barplot( jumlah_per_kota, col = rainbow(length(jumlah_per_kota)), # warna berbeda untuk tiap kota main = “Jumlah Orang per Kota”, xlab = “Kota”, ylab = “Jumlah”, las = 2 # rotasi label x agar terbaca )
data2 <- data.frame( Nama = c(“Budi”, “Rudi”, “Joko”, “Widodo”, “Abdul”, “Dian”, “Sastro”, “Mega”, “wati”, “Gusdur”), Kota = c(“Jakarta”, “Jakarta”, “Medan”, “Medan”, “Kupang”, “Banjarmasin”, “Banjarmasin”, “Surabaya”, “Manado”, “Palu”), Status = c(“Lulus”, “Lulus”, “Lulus”, “Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”) )
jumlah_per_status <- table(data2$Status)
bar_positions <- barplot( jumlah_per_status, col = c(“green”, “red”), # Warna untuk masing-masing status main = “Distribusi Status Kelulusan”, xlab = “Status”, ylab = “Jumlah”, ylim = c(0, max(jumlah_per_status) + 1) )
text(x = bar_positions, y = jumlah_per_status, labels = jumlah_per_status, pos = 3)
data2 <- data.frame( Nama = c(“Budi”, “Rudi”, “Joko”, “Widodo”, “Abdul”, “Dian”, “Sastro”, “Mega”, “wati”, “Gusdur”), Kota = c(“Jakarta”, “Jakarta”, “Medan”, “Medan”, “Kupang”, “Banjarmasin”, “Banjarmasin”, “Surabaya”, “Manado”, “Palu”), Status = c(“Lulus”, “Lulus”, “Lulus”, “Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”, “Tidak Lulus”) )
jumlah_per_status <- table(data2$Status)
warna_status <- c(“Lulus” = “pink”, “Tidak Lulus” = “blue”)
bar_positions <- barplot( jumlah_per_status, col = warna_status[names(jumlah_per_status)], main = “Distribusi Status Kelulusan”, xlab = “Status”, ylab = “Jumlah”, ylim = c(0, max(jumlah_per_status) + 1) )
text(x = bar_positions, y = jumlah_per_status, labels = jumlah_per_status, pos = 3)
install.packages(“sf”) install.packages(“ggplot2”) install.packages(“dplyr”) install.packages(“rgeoboundaries”) # Untuk peta administratif
library(sf) library(ggplot2) library(dplyr) library(rgeoboundaries)
install.packages(“remotes”) remotes::install_github(“wmgeolab/rgeoboundaries”)
library(rgeoboundaries)
indo_prov <- gb_adm1(“Indonesia”)
indo <- ne_states(country = “Indonesia”, returnclass = “sf”)
unique(indo$name)
data_pt <- data.frame( name = c(“Jakarta Raya”, “Jawa Barat”, “Jawa Tengah”, “DI Yogyakarta”, “Banten”, “Jawa Timur”), jumlah_pt = c(115, 200, 300, 350, 23, 230) ) # Filter hanya provinsi di Pulau Jawa jawa <- indo %>% filter(name %in% data_pt$name)
jawa_merged <- left_join(jawa, data_pt, by = “name”)
ggplot(data = jawa_merged) + geom_sf(aes(fill = jumlah_pt), color = “white”) + scale_fill_gradient(low = “lightyellow”, high = “darkred”) + labs( title = “Jumlah Perguruan Tinggi di Provinsi Pulau Jawa”, fill = “Jumlah PT” ) + theme_minimal() library(rgeoboundaries) indo_prov <- gb_adm1(“Indonesia”)
install.packages(“sf”) install.packages(“ggplot2”) install.packages(“dplyr”)
library(sf) library(ggplot2) library(dplyr)
jawa <- indo %>% filter(name %in% data_pt$name)
jawa_merged <- left_join(jawa, data_pt, by = “name”)
ggplot(data = jawa_merged) + geom_sf(aes(fill = jumlah_pt), color = “white”) + scale_fill_gradient(low = “lightyellow”, high = “darkred”) + labs( title = “Jumlah Perguruan Tinggi di Provinsi Pulau Jawa”, fill = “Jumlah PT” ) + theme_minimal()
install.packages(“sf”) install.packages(“ggplot2”) install.packages(“dplyr”) install.packages(“raster”) # Digunakan untuk ambil data GADM
library(sf) library(ggplot2) library(dplyr) library(raster)
indo_gadm <- getData(“GADM”, country = “IDN”, level = 1)
indo_sf <- st_as_sf(indo_gadm)
library(sf) library(ggplot2) library(dplyr) library(raster)
indo_gadm <- getData(“GADM”, country = “IDN”, level = 1)
indo_sf <- st_as_sf(indo_gadm)
library(geodata) library(sf) library(dplyr) library(ggplot2)
indo_sf <- geodata::gadm(country = “IDN”, level = 1, path = tempdir())
indo_sf <- st_as_sf(indo_sf)
install.packages(“geodata”) install.packages(“sf”) install.packages(“ggplot2”) install.packages(“dplyr”)
library(geodata) library(sf) library(dplyr) library(ggplot2)
indo_sf <- geodata::gadm(country = “IDN”, level = 1, path = tempdir())
indo_sf <- st_as_sf(indo_sf)
data_pt <- data.frame( NAME_1 = c(“Jakarta Raya”, “Jawa Barat”, “Jawa Tengah”, “Yogyakarta”, “Banten”, “Jawa Timur”), jumlah_pt = c(115, 200, 300, 350, 23, 230) )
jawa_sf <- indo_sf %>% filter(NAME_1 %in% data_pt$NAME_1)
jawa_merged <- left_join(jawa_sf, data_pt, by = “NAME_1”)
ggplot(data = jawa_merged) + geom_sf(aes(fill = jumlah_pt), color = “white”) + scale_fill_gradient(low = “lightyellow”, high = “darkred”) + labs( title = “Jumlah Perguruan Tinggi di Provinsi Pulau Jawa”, fill = “Jumlah PT” ) + theme_minimal()
install.packages(“geodata”) install.packages(“sf”) install.packages(“ggplot2”) install.packages(“dplyr”)
library(geodata) library(sf) library(dplyr) library(ggplot2)
indo_sf <- gadm(country = “IDN”, level = 1, path = tempdir()) indo_sf <- st_as_sf(indo_sf)
data_pt <- data.frame( NAME_1 = c(“Jakarta Raya”, “Jawa Barat”, “Jawa Tengah”, “Yogyakarta”, “Banten”, “Jawa Timur”), jumlah_pt = c(115, 200, 300, 350, 23, 230) )
jawa_sf <- indo_sf %>% filter(NAME_1 %in% data_pt$NAME_1) jawa_merged <- left_join(jawa_sf, data_pt, by = “NAME_1”)
centroid <- st_centroid(jawa_merged)
ggplot(data = jawa_merged) + geom_sf(aes(fill = jumlah_pt), color = “white”) + geom_text(data = centroid, aes(x = st_coordinates(geometry)[,1], y = st_coordinates(geometry)[,2], label = jumlah_pt), size = 4, color = “black”) + labs( title = “Jumlah PT Per Provinsi Pulau Jawa” ) + theme_minimal() + theme(legend.position = “none”) # Hapus legenda