knitr::opts_chunk$set(warning = FALSE, message = FALSE)
library(dplyr)
library(lubridate)
library(ggplot2)
library(tm)
library(wordcloud)
Cargar la data
Los archivos para correr este notebok estan en,
videos <- read_csv("academatica_videos.csv")
metadata <- read_csv("academatica_videos_metadata.csv")
stats <- read_csv("academatica_video_stats.csv")
Videos subidos por año
videos %>%
mutate(year = year(ymd_hms(contentDetails.videoPublishedAt)),
month = month(ymd_hms(contentDetails.videoPublishedAt),label = TRUE),
year = as.factor(year)) %>%
group_by(year, month) %>%
summarise(uploaded_videos = n_distinct(id)) %>%
ggplot(aes(x=month,
y=uploaded_videos,
fill=year))+
geom_col(position = 'dodge')

Word Cloud
docs <- Corpus(VectorSource(metadata$title))
toSpace <- content_transformer(function (x , pattern ) gsub(pattern, " ", x))
docs <- tm_map(docs, toSpace, "-")
docs <- tm_map(docs, toSpace, "\\(")
docs <- tm_map(docs, toSpace, "\\)")
docs <- tm_map(docs, toSpace, "\\|")
docs <- tm_map(docs, content_transformer(tolower))
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removeWords, stopwords("spanish"))
docs <- tm_map(docs, content_transformer(tolower))
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removeWords, stopwords("english"))
docs <- tm_map(docs, removeWords, c("video",
"problema",
"ejemplo",
"parte",
"ejercicio",
"ejercicios",
"ejemplos"))
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, stripWhitespace)
dtm <- TermDocumentMatrix(docs)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 10)
set.seed(1234)
wordcloud(words = d$word, freq = d$freq, min.freq = 1,
max.words=100, random.order=TRUE, rot.per=0.1,
colors=brewer.pal(8, "Dark2"))

Kpis del canal
stats %>%
summarise(total_views = sum(viewCount),
total_likes = sum(likeCount),
total_dislike = sum(dislikeCount),
total_favorite = sum(favoriteCount),
total_comments = sum(commentCount))
stats %>%
mutate(hasComment = if_else(commentCount>0,"si","no" )) %>%
group_by(hasComment) %>%
summarise(total_hasComment=n())
stats %>%
mutate(hasLike = if_else(likeCount>0,"si","no" )) %>%
group_by(hasLike) %>%
summarise(total_hasLike=n())
stats %>%
mutate(hasLike = if_else(likeCount>0,"si","no" )) %>%
filter(hasLike == 'no') %>%
left_join(metadata, by = c("id"="video_id")) %>%
select(id,title)
LS0tDQp0aXRsZTogIkFjYWRlbWF0aWNhIERhdGEgQW5hbHlzaXMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7ciBzZXR1cH0NCmtuaXRyOjpvcHRzX2NodW5rJHNldCh3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGx1YnJpZGF0ZSkNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkodG0pDQpsaWJyYXJ5KHdvcmRjbG91ZCkNCmBgYA0KDQojIENhcmdhciBsYSBkYXRhDQoNCkxvcyBhcmNoaXZvcyBwYXJhIGNvcnJlciBlc3RlIG5vdGVib2sgZXN0YW4gZW4sDQoNCiogW0RhdGEgYWNhZGVtYXRpY2FdKGh0dHBzOi8vMWRydi5tcy91L3MhQXVmaVpnSDZWckMyaHVBVXFHSVNBZ2JqLXozd3RBP2U9VTFzeUV2KQ0KDQoNCmBgYHtyIGRhdGEsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQp2aWRlb3MgPC0gcmVhZF9jc3YoImFjYWRlbWF0aWNhX3ZpZGVvcy5jc3YiKQ0KbWV0YWRhdGEgPC0gcmVhZF9jc3YoImFjYWRlbWF0aWNhX3ZpZGVvc19tZXRhZGF0YS5jc3YiKQ0Kc3RhdHMgPC0gcmVhZF9jc3YoImFjYWRlbWF0aWNhX3ZpZGVvX3N0YXRzLmNzdiIpDQpgYGANCg0KIyBWaWRlb3Mgc3ViaWRvcyBwb3IgYcOxbw0KYGBge3IgdmlkZW9zIHBvciBhw7FvfQ0KdmlkZW9zICU+JSANCiAgbXV0YXRlKHllYXIgPSB5ZWFyKHltZF9obXMoY29udGVudERldGFpbHMudmlkZW9QdWJsaXNoZWRBdCkpLA0KICAgICAgICAgbW9udGggPSBtb250aCh5bWRfaG1zKGNvbnRlbnREZXRhaWxzLnZpZGVvUHVibGlzaGVkQXQpLGxhYmVsID0gVFJVRSksDQogICAgICAgICB5ZWFyID0gYXMuZmFjdG9yKHllYXIpKSAlPiUgDQogIGdyb3VwX2J5KHllYXIsIG1vbnRoKSAlPiUgDQogIHN1bW1hcmlzZSh1cGxvYWRlZF92aWRlb3MgPSBuX2Rpc3RpbmN0KGlkKSkgJT4lDQogIGdncGxvdChhZXMoeD1tb250aCwNCiAgICAgICAgICAgICB5PXVwbG9hZGVkX3ZpZGVvcywNCiAgICAgICAgICAgICBmaWxsPXllYXIpKSsNCiAgZ2VvbV9jb2wocG9zaXRpb24gPSAnZG9kZ2UnKQ0KYGBgDQoNCg0KIyBXb3JkIENsb3VkDQpgYGB7ciBjb3JwdXMgY3JlYXRpb259DQpkb2NzIDwtIENvcnB1cyhWZWN0b3JTb3VyY2UobWV0YWRhdGEkdGl0bGUpKQ0KdG9TcGFjZSA8LSBjb250ZW50X3RyYW5zZm9ybWVyKGZ1bmN0aW9uICh4ICwgcGF0dGVybiApIGdzdWIocGF0dGVybiwgIiAiLCB4KSkNCmRvY3MgPC0gdG1fbWFwKGRvY3MsIHRvU3BhY2UsICItIikNCmRvY3MgPC0gdG1fbWFwKGRvY3MsIHRvU3BhY2UsICJcXCgiKQ0KZG9jcyA8LSB0bV9tYXAoZG9jcywgdG9TcGFjZSwgIlxcKSIpDQpkb2NzIDwtIHRtX21hcChkb2NzLCB0b1NwYWNlLCAiXFx8IikNCg0KZG9jcyA8LSB0bV9tYXAoZG9jcywgY29udGVudF90cmFuc2Zvcm1lcih0b2xvd2VyKSkNCmRvY3MgPC0gdG1fbWFwKGRvY3MsIHJlbW92ZU51bWJlcnMpDQpkb2NzIDwtIHRtX21hcChkb2NzLCByZW1vdmVXb3Jkcywgc3RvcHdvcmRzKCJzcGFuaXNoIikpDQpkb2NzIDwtIHRtX21hcChkb2NzLCBjb250ZW50X3RyYW5zZm9ybWVyKHRvbG93ZXIpKQ0KZG9jcyA8LSB0bV9tYXAoZG9jcywgcmVtb3ZlTnVtYmVycykNCmRvY3MgPC0gdG1fbWFwKGRvY3MsIHJlbW92ZVdvcmRzLCBzdG9wd29yZHMoImVuZ2xpc2giKSkNCmRvY3MgPC0gdG1fbWFwKGRvY3MsIHJlbW92ZVdvcmRzLCBjKCJ2aWRlbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByb2JsZW1hIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlamVtcGxvIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJ0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWplcmNpY2lvIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlamVyY2ljaW9zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlamVtcGxvcyIpKSANCmRvY3MgPC0gdG1fbWFwKGRvY3MsIHJlbW92ZVB1bmN0dWF0aW9uKQ0KZG9jcyA8LSB0bV9tYXAoZG9jcywgc3RyaXBXaGl0ZXNwYWNlKQ0KDQpgYGANCg0KDQpgYGB7ciB0ZXJtIG1hdHJpeH0NCmR0bSA8LSBUZXJtRG9jdW1lbnRNYXRyaXgoZG9jcykNCm0gPC0gYXMubWF0cml4KGR0bSkNCnYgPC0gc29ydChyb3dTdW1zKG0pLGRlY3JlYXNpbmc9VFJVRSkNCmQgPC0gZGF0YS5mcmFtZSh3b3JkID0gbmFtZXModiksZnJlcT12KQ0KaGVhZChkLCAxMCkNCmBgYA0KDQpgYGB7ciB3b3JkY2xvdWR9DQpzZXQuc2VlZCgxMjM0KQ0Kd29yZGNsb3VkKHdvcmRzID0gZCR3b3JkLCBmcmVxID0gZCRmcmVxLCBtaW4uZnJlcSA9IDEsDQogICAgICAgICAgbWF4LndvcmRzPTEwMCwgcmFuZG9tLm9yZGVyPVRSVUUsIHJvdC5wZXI9MC4xLCANCiAgICAgICAgICBjb2xvcnM9YnJld2VyLnBhbCg4LCAiRGFyazIiKSkNCmBgYA0KDQojIEtwaXMgZGVsIGNhbmFsDQoNCmBgYHtyIHRvdGFsIGVuZ2FnZW1lbnR9DQpzdGF0cyAlPiUgDQogIHN1bW1hcmlzZSh0b3RhbF92aWV3cyA9IHN1bSh2aWV3Q291bnQpLA0KICAgICAgICAgICAgdG90YWxfbGlrZXMgPSBzdW0obGlrZUNvdW50KSwNCiAgICAgICAgICAgIHRvdGFsX2Rpc2xpa2UgPSBzdW0oZGlzbGlrZUNvdW50KSwNCiAgICAgICAgICAgIHRvdGFsX2Zhdm9yaXRlID0gc3VtKGZhdm9yaXRlQ291bnQpLA0KICAgICAgICAgICAgdG90YWxfY29tbWVudHMgPSBzdW0oY29tbWVudENvdW50KSkNCmBgYA0KDQoNCg0KYGBge3IgaGFzQ29tbWVudH0NCnN0YXRzICU+JSANCiAgbXV0YXRlKGhhc0NvbW1lbnQgPSBpZl9lbHNlKGNvbW1lbnRDb3VudD4wLCJzaSIsIm5vIiApKSAlPiUgDQogIGdyb3VwX2J5KGhhc0NvbW1lbnQpICU+JSANCiAgc3VtbWFyaXNlKHRvdGFsX2hhc0NvbW1lbnQ9bigpKQ0KYGBgDQoNCmBgYHtyIGhhc0xpa2V9DQpzdGF0cyAlPiUgDQogIG11dGF0ZShoYXNMaWtlID0gaWZfZWxzZShsaWtlQ291bnQ+MCwic2kiLCJubyIgKSkgJT4lIA0KICBncm91cF9ieShoYXNMaWtlKSAlPiUgDQogIHN1bW1hcmlzZSh0b3RhbF9oYXNMaWtlPW4oKSkNCmBgYA0KDQoNCmBgYHtyfQ0Kc3RhdHMgJT4lIA0KICBtdXRhdGUoaGFzTGlrZSA9IGlmX2Vsc2UobGlrZUNvdW50PjAsInNpIiwibm8iICkpICU+JSANCiAgZmlsdGVyKGhhc0xpa2UgPT0gJ25vJykgJT4lIA0KICBsZWZ0X2pvaW4obWV0YWRhdGEsIGJ5ID0gYygiaWQiPSJ2aWRlb19pZCIpKSAlPiUgDQogIHNlbGVjdChpZCx0aXRsZSkNCmBgYA0KDQoNCg==