Skip to content

Instantly share code, notes, and snippets.

View pbiecek's full-sized avatar

Przemysław Biecek pbiecek

View GitHub Profile
library(rvest)
page <- html("http://www.imdb.com/title/tt0903747/ratings")
nodes <- html_nodes(page, "table:nth-child(11) td:nth-child(3)")
html_text(nodes)
as.numeric(gsub(html_text(nodes), pattern="[^0-9\\.]", replacement=""))
library(rvest)
library(PogromcyDanych)
serialsToParse <- levels(serialeIMDB$imdbId)
# prepare matrix for results
ratingsGroup <- matrix("", length(serialsToParse), 14)
rownames(ratingsGroup) <- serialsToParse
colnames(ratingsGroup) <- c("Males", "Females", "Aged under 18", "Males under 18",
"Females under 18", "Aged 18-29", "Males Aged 18-29", "Females Aged 18-29",
"Aged 30-44", "Males Aged 30-44", "Females Aged 30-44", "Aged 45+",
library(rvest)
library(PogromcyDanych)
serialsToParse <- levels(serialeIMDB$imdbId)
# prepare matrix for results
ratingsGroup <- matrix("", length(serialsToParse), 14)
rownames(ratingsGroup) <- serialsToParse
colnames(ratingsGroup) <- c("Males", "Females", "Aged under 18", "Males under 18",
"Females under 18", "Aged 18-29", "Males Aged 18-29", "Females Aged 18-29",
"Aged 30-44", "Males Aged 30-44", "Females Aged 30-44", "Aged 45+",
# load the data set with average ratings in groups
load("votesGroup.rda")
# groups in the data
# [1] "Males" "Females" "Aged under 18" "Males under 18" "Females under 18"
# [6] "Aged 18-29" "Males Aged 18-29" "Females Aged 18-29" "Aged 30-44" "Males Aged 30-44"
# [11] "Females Aged 30-44" "Aged 45+" "Males Aged 45+" "Females Aged 45+" "serialName"
# select only specific cols
group1 <- "Males"
group2 <- "Females"
# convert characters to numbers
xx <- as.numeric(votesGroup[,group1])
yy <- as.numeric(votesGroup[,group2])
gr <- cut(xx - yy, c(-10,-0.5,0.5,10))
df <- data.frame(x = xx, y = yy, gr = gr,
library(ggvis)
df %>% ggvis(x =~ x, y =~ y) %>%
layer_points(fill = ~gr, size.hover := 200,
fillOpacity := 0.9,
fillOpacity.hover := 0.95) %>%
add_axis("x", title = group1) %>%
add_axis("y", title = group2)
labs <- function(data){
if(is.null(data)) return(NULL)
paste0("<b>",data$name, "</b><br/> ", data$x, " <br/>", data$y,"")
}
abline_data <- function (domain, intercept, slope) {
data.frame(x = domain, y = domain * slope + intercept)
}
layer_abline <- function (.vis, domain, intercept = 0, slope = 1, dash = 6, ...) {
df <- abline_data(domain, intercept, slope)
library(PogromcyDanych)
auta2012 %>%
group_by(Kolor) %>%
summarise(mKM = median(KM, na.rm=T)) %>%
arrange(-mKM) %>%
slice(1)
auta2012 %>%
group_by(Kolor) %>%
summarise(mKM = quantile(KM, .9, na.rm=TRUE)) %>%
arrange(-mKM) %>%
slice(1)