Instagram Analyst

Tue, Feb 9, 2021 3-minute read

Belajar menganalisis data likes instagram kita agar menemukan hit like terbanyak pada postingan kita.

Di era sekarang ini, Artificial Intelligence lagi hot hotnya nih, banyak cabang Ilmu dari AI seperti Mechine Learning, Deep Learning, NLP (Natural Language Processing) dan lain-lain yang berbondong bondong di pelajari oleh orang-orang di karenakan karir nya yang cukup menjanjikan. Salah satu skill set yang di butuhkan sebelum meloncat kepada bidang AI ialah Data Analyst dan Data Scientst. Jadi kali ini kita akan mempelajari seputar Data Analyst menggunakan dataset sample instagram menggunakan bahasa pemograman R. Penasarankan gimana caranya, kita let’s go ajaa.

Package yang di butuhkan

Ordered List

  1. library(ggtext)
  2. library(forcats)
  3. library(ggplot2)
  4. library(dplyr)
  5. library(readr)

Pertama kita import library nya terlebih dahulu, nah cara mengimport library pada R, kita menggunakan keyword library

library(ggtext)
library(forcats)
library(ggplot2)
library(dplyr)
library(readr)

Kemudian kita membuat variable dengan nama igstats, pendeklarisian variable di R mungkin sedikit berbeda dengan bahasa Pemograman lain dimana kita menggunakan tanda <-, di variable ini kita mencoba membaca file nya yang berjeniskan csv (Comma-separated values). Kemudian setelah itu melakukan transposed dengan fungsi glimpse yang terdapat di R.

Pada variable igstats_plot kita mencoba merangkai visualisasinya melakukan chanining dengan symbol %>, setelahnya melakukan mutasi variable. Nah dari sini kita sudah dapat memanggil method ggplot() nya untuk melakukan visualisasi menggunakan fungsi geom_segment untuk mengatur sumbu x dan y nya. Properti colour dan linetype di gunakan untuk mengatur warna dan jenis line / garis yang digunakan pada grafik.

igstats <- read_csv("igstats.csv")

glimpse(igstats)

igstats_plot <-
  igstats %>%
  mutate(day = fct_reorder(day, avglikes)) %>%
  ggplot() +
  geom_segment(aes(
    x = 0,
    xend = avglikes,
    y = day,
    yend = day
  ),
  colour = "white",
  linetype = "longdash"
  ) +

Kemudian disini kita memiliki code yang tidak jauh berbeda dengan sebelumnya, yakni terdapat fungsi geometrik lainnya yaitu geom_point untuk melakukan pointing visualisasi geom_text untuk memberikan keterangan teks pada grafik geom_curve untuk menggambarkan curve line dan annotate fungsi yang di gunakan untuk memberikan custom text position dan style pada grafik

Terakhir kita memanggil variable igstats_plot untuk menampilkan visualisainya

 +
  geom_point(
    aes(avglikes, day, fill = is_weekend),
    shape = "circle filled",
    size = 18,
    colour = "white",
    show.legend = FALSE
  ) +
  geom_text(
    aes(avglikes, day, label = round(avglikes)),
    colour = "white",
    family = "Lacquer",
    size = 7
  ) +
  geom_text(
    aes(x = 0, day, label = day),
    colour = "white",
    nudge_y = 0.15,
    hjust = "left",
    family = "Lacquer"
  ) +
  geom_curve(
    aes(
      x = 185,
      xend = 174,
      y = 6.3,
      yend = 6
    ),
    colour = "white",
    curvature = -0.3,
    arrow = arrow(length = unit(0.1, "inches"), type = "closed")
  ) +
  geom_curve(
    aes(
      x = 185,
      xend = 230,
      y = 6.8,
      yend = 7.2
    ),
    colour = "white",
    curvature = -0.25,
    arrow = arrow(length = unit(0.1, "inches"), type = "closed")
  ) +
  annotate(
    geom = "richtext",
    x = 200,
    y = 6.5,
    label = "<span style='color:Blue'>Blue</span> is weekday,<br><span style='color:Green'>green</span> is weekend",
    fill = NA,
    label.colour = NA,
    colour = "white",
    family = "Lacquer",
    size = 4
  ) +
  annotate(
    geom = "text",
    x = 200,
    y = 3,
    label = "How many\nlikes did \nI get?",
    colour = "white",
    hjust = "center",
    family = "Lacquer",
    size = 15
  ) +
  scale_fill_manual(values = c("Blue", "Green")) +
  theme_void() +
  theme(plot.background = element_rect(fill = "Black"))

igstats_plot