library(ggplot2)
data("OrchardSprays")
head(OrchardSprays)
dim(OrchardSprays)
## [1] 64  4

Bar Chart

ggplot(data=OrchardSprays, mapping=aes(x=decrease))+
  geom_bar()

## Frekuensi membuat tabel frekuensi

freqtab <- as.data.frame(table(OrchardSprays$decrease))
freqtab

membuat bar chart

ggplot(data=freqtab, mapping=aes(x=Var1, y=Freq))+
  geom_bar(stat="identity")

#Atau bisa juga
ggplot(data=freqtab, mapping=aes(x=Var1, y=Freq))+
  geom_col()

modifikasi bar chart

ggplot(data=freqtab, mapping=aes(x=Var1, y=Freq))+
  geom_col(fill="pink", alpha=0.9)+
  labs(title = "orchardsprays data",
       x="decrease",
       y="frequency")+
  geom_text(aes(label=Freq), vjust=-0.25)

## Needle chart

ggplot(data=freqtab,
       mapping=aes(x=reorder(Var1,Freq), y=Freq))+
  geom_segment(aes(x=reorder(Var1,Freq),
                   xend=reorder(Var1,Freq),
                   y=0, yend=Freq), color="navyblue")+
  geom_point(color="pink", size=3, alpha=0.9)+
  coord_flip()+
  labs(y="frequency", x="decrease")+
  geom_text(aes(label=Freq), vjust=0.7)

## Grouped bar chart

ggplot(data=OrchardSprays,
       mapping=aes(x=decrease, fill=as.factor(rowpos)))+
  geom_bar(position="dodge", stat="count")+
  labs(x="decrease", fill="data decrease OrchardSpray",
       y="frequency")+
  scale_fill_brewer(palette = "Blues")+
  theme_light()

## Stacked bar chart

ggplot(data=OrchardSprays,
       mapping=aes(x=decrease, fill=as.factor(rowpos)))+
  geom_bar(position="stack", stat="count")+
  labs(x="kualitas potongan berlian", fill="warna berlian",
       y="jumlah berlian")+
  scale_fill_brewer(palette = "PiYG")+
  theme_light()

pie chart

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
df <- OrchardSprays %>%
  group_by(rowpos) %>%
  summarise(counts=n())
df
library(dplyr)
df <- df %>%
  arrange(desc(rowpos)) %>%
  mutate(prop=round(counts*100/sum(counts), 1),
         lab.ypos = cumsum(prop)-0.5*prop)
head(df,4)

membuat grafik pie chart

ggplot(df, aes(x="",y = prop, fill= as.factor(rowpos)))+
  geom_bar(width=1,stat="identity", color="black")+
  geom_text(aes(y=lab.ypos, label = prop), color="pink")+
  coord_polar("y", start=0)+
  ggpubr::fill_palette("jco")+
  theme_void()

## Peta spasial

library(readxl)
data.spasial <- read_xls("C:/Users/abela/Downloads/export-output-1 abel.xls",sheet = 1)
head(data.spasial)

#import shp

library(sf)
## Linking to GEOS 3.13.0, GDAL 3.10.1, PROJ 9.5.1; sf_use_s2() is TRUE
shp.kalbar <- read_sf("C:/Users/abela/Downloads/PETA SHP 34 Prov/PETA SHP 34 Prov/13-Kalimantan Barat/Export_Output.dbf")

#menggabungkn data

# Import library yang diperlukan
library(sf)
library(dplyr)  # Pastikan library dplyr digunakan untuk left_join

gabung.kalbar = left_join(shp.kalbar,data.spasial,by="NAME_1")
## Warning in sf_column %in% names(g): Detected an unexpected many-to-many relationship between `x` and `y`.
## ℹ Row 1 of `x` matches multiple rows in `y`.
## ℹ Row 1 of `y` matches multiple rows in `x`.
## ℹ If a many-to-many relationship is expected, set `relationship =
##   "many-to-many"` to silence this warning.
plot.kalbar <- ggplot(data = gabung.kalbar)+
  geom_sf(aes(fill = Latitude.x))+
  scale_fill_distiller("index rate", palette = "RdPu")
plot.kalbar