Merhaba, ben Eren İLERİ . Bilecik Şeyh Edebali Üniversitesi Yönetim Bilişim Sistemleri bölümünde son sınıf öğrencisiyim. Günümüzde sosyal medya, sürekli değişen trendlerin ve akımların odağı haline geldi. Bu dinamik ortamda, “Emoji Yeme Akımı” gibi yenilikçi ve eğlenceli trendler hızla popülerlik kazanıyor. Bu projede, YouTube üzerindeki sıradan bir emoji yeme videosunun insanlarda hangi emojileri ve yemek yeme türlerini çağrıştırdığını inceleyeceğiz.Yardımlarından dolayı Osman Enes ÜNAL’a teşekkür ederim.
Kullanacağım kütüphaneler aşağıda açıklamaları ile sıralanmıştır.
| Kütüphane İsimleri | Kullanım Amaçları |
|---|---|
| tuber | YouTube API’si ile etkileşim kurmak için kullanılır. Video ve yorum gibi verileri çekebilirsiniz. |
| httpuv | HTTP ve WebSocket protokolleri üzerinden asenkron web uygulamaları oluşturmak için kullanılır. |
| httr | HTTP istekleri yapmak ve API’lerle etkileşimde bulunmak için kullanılır. |
| dplyr | Veri manipülasyonu ve analizi için kullanılır. Veri çerçeveleri üzerinde çeşitli işlemler yapmanıza olanak tanır. |
| stringr | Metin işlemleri ve manipülasyonu için kullanılır. Stringler üzerinde arama, değiştirme gibi işlemleri kolaylaştırır. |
| tm | Metin madenciliği için kullanılır. Metin verilerini işlemek ve analiz etmek için gerekli araçları sağlar. |
| ggplot2 | Veri görselleştirme için kullanılır. Karmaşık grafikler oluşturmanıza olanak tanır ve ‘Grammar of Graphics’ felsefesine dayanır. |
| knitr | R Markdown dosyalarını işlemek ve dinamik raporlar oluşturmak için kullanılır. Kod, sonuçlar ve yorumları bir araya getirerek dokümanlar hazırlamanıza yardımcı olur |
| stringi | Metin işleme ve manipülasyonu için güçlü fonksiyonlar sunar. Unicode tabanlı işlemleri destekler ve performans açısından optimize edilmiştir. |
Google Cloud üzerinden aldığımız geliştirici hesabı ile sizlerde Google hesabı alabilirsiniz.
client_id<-"-----------------------Your_Client_id------------------------------" #Client Id
clientsecret<-"------------Your_client_secret----------------" #Client Secret
yt_oauth(client_id,clientsecret,token =" ") #Youtube Oauth
Yorumlarını kazmak istediğimiz videonun uzantısını bu şekilde yazıyoruz.
Video_yorum<-get_all_comments(video_id = "lBbEBRBtKGY")
Youtube videosu üzerinden kazmış olduğumuz yorumları bilgisayarımıza ‘.csv’ formatı ile kaydediyoruz ve kayıt altına alıyoruz.Bu şekilde her seferinde yorum çekme ile uğraşmıyoruz.
Write.csv(Video_yorum, file = "yorumlar.csv")
Kayıt ettiğimiz yorumları bilgisayarımızdan çekiyoruz.
Video_yorum<- read.csv(file.choose(), header = T , sep = ",")
library(stringi)
## Warning: package 'stringi' was built under R version 4.2.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
##
## 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
# Video_yorum$textOriginal vektöründeki tüm emojileri çıkarır
emojiler <- stri_extract_all_regex(Video_yorum$textOriginal, "\\p{So}")
# Çıkarılan emojilerin her birinin kaç kez tekrar ettiğini hesaplar
emoji_tablosu <- table(unlist(emojiler))
# Emoji ve tekrar sayısını içeren bir veri çerçevesi oluşturur
emoji_df <- data.frame(emoji = names(emoji_tablosu),
tekrar_sayisi = as.numeric(emoji_tablosu)) %>%
# Tekrar sayısına göre azalan sırada düzenler
arrange(desc(tekrar_sayisi)) %>%
# En sık tekrar eden ilk 22 emojiyi seçer
slice_head(n = 22)
Bu R kodu, emoji_df veri setindeki emojilerin kullanım sıklığını renkli bir pasta grafiği olarak gösterir. Her dilim, bir emojiyi temsil eder ve boyutu o emojinin tekrar sayısına göre belirlenir. Renkler, rainbow fonksiyonu ile otomatik olarak atanır ve grafik, “Emoji Kullanım Yüzdelikleri” başlığı ile birlikte temiz bir görünüme sahip olacak şekilde theme_void() ile düzenlenir. Pasta grafiğinde gördüğümüz kadarıyla insanların en çok verdikleri tepkilerden ilk üçü kalp, bal ve buz küpü.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
ggplot(emoji_df, aes(x = "", y = tekrar_sayisi, fill = emoji)) + # Veri setini ve estetikleri ayarla
geom_bar(width = 1, stat = "identity") + # Her emoji için barlar oluştur
coord_polar("y", start = 0) + # Grafiği polar (daire) koordinatlara dönüştür
scale_fill_manual(values = rainbow(nrow(emoji_df))) + # Renkleri manuel olarak ayarla
labs(title = "Emoji Kullanım Yükleri", # Başlık ve eksen etiketlerini ekle
x = "",
y = "") +
theme_void() # Temayı sadeleştir
Bu kod ile insanların göndermiş oldukları emoji sayılarının büyüklüğünü göstermektedir. Bu tabloya gönderilmiş olan emojilerin tekar sayıları şu şekilde;
library(ggplot2)
ggplot(emoji_df, aes(x = emoji, y = tekrar_sayisi, color = emoji)) +
geom_point() +
scale_color_manual(values = rainbow(nrow(emoji_df))) +
labs(title = "Emoji Tekrar Sayıları",
x = "Emoji",
y = "Tekrar Sayısı") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))