Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(dplyr)
- library(magrittr)
- library(dygraphs)
- library(htmlwidgets)
- library(webshot)
- fileName = "data/sledzie.csv"
- herrings = read.csv(fileName, header = TRUE, sep = ",", dec = ".")
- herrings[herrings == "?"] <- NA
- completeData <- herrings %>% mutate(
- cfin1 = case_when((is.na(cfin1) & !is.na(lag(cfin1))) ~ lag(cfin1), is.na(cfin1) ~ lead(cfin1), TRUE ~ cfin1),
- cfin2 = case_when((is.na(cfin2) & !is.na(lag(cfin2))) ~ lag(cfin2), is.na(cfin2) ~ lead(cfin2), TRUE ~ cfin2),
- chel1 = case_when((is.na(chel1) & !is.na(lag(chel1))) ~ lag(chel1), is.na(chel1) ~ lead(chel1), TRUE ~ chel1),
- chel2 = case_when((is.na(chel2) & !is.na(lag(chel2))) ~ lag(chel2), is.na(chel2) ~ lead(chel2), TRUE ~ chel2),
- lcop1 = case_when((is.na(lcop1) & !is.na(lag(lcop1))) ~ lag(lcop1), is.na(lcop1) ~ lead(lcop1), TRUE ~ lcop1),
- lcop2 = case_when((is.na(lcop2) & !is.na(lag(lcop2))) ~ lag(lcop2), is.na(lcop2) ~ lead(lcop2), TRUE ~ lcop2),
- sst = case_when((is.na(sst) & !is.na(lag(sst))) ~ lag(sst), is.na(sst) ~ lead(sst), TRUE ~ sst)
- )
- completeData <- completeData %>% filter_all(all_vars(!is.na(.)))
- groupedData <- completeData %>% group_by(cfin1, cfin2, chel1, chel2, lcop1, lcop2, fbar, recr, cumf, totaln, sst, sal, nao)
- make_sizes <- function(name){
- herr_vec <- groupedData[[name]]
- max <- dim(herrings)[1]
- average <- as.integer(max/60)
- sizes <- c()
- sum <- 0
- for (index in 1:length(herr_vec) ) {
- #tmp_sizes <- c(tmp_sizes, herr_vec[index])
- sum <- sum + herr_vec[index]
- if (index %% average == 0) {
- mean <- sum/60
- sizes <- c(sizes, mean)
- sum <- 0
- }
- }
- return(sizes)
- }
- normalize <- function(x) {
- return ((x - min(x)) / (max(x) - min(x)))
- }
- # --- Format 1: time is represented by a simple number. (must be numeric and ordered)
- data <- data.frame(
- time=c( seq(0,58,1), 60),
- value= normalize(make_sizes("fbar") ),
- value2 = normalize( make_sizes("totaln") )
- )
- data1 <- data.frame(
- time=c( seq(0,58,1), 60),
- value= normalize(make_sizes("fbar") ),
- value2 = normalize( make_sizes("totaln") )
- )
- data2 <- data.frame(
- time=c( seq(0,58,1), 60),
- value= normalize(make_sizes("fbar") ),
- value2 = normalize( make_sizes("totaln") )
- )
- data3 <- data.frame(
- time=c( seq(0,58,1), 60),
- value= normalize(make_sizes("fbar") ),
- value2 = normalize( make_sizes("totaln") )
- )
- # Use dygraph
- str(data)
- p <- dygraph(data,main = "Porównanie połowu na przestrzeni lat", ylab = "Znormalizowana wartość") %>% dyOptions(fillGraph = TRUE, fillAlpha = 0.4) %>% dySeries("value", label = "% Pozostawionego narybku") %>%
- dySeries("value2", label = "Łączna liczba ryb złowionych")
- p1 <- dygraph(data,main = "Porównanie połowu na przestrzeni lat", ylab = "Znormalizowana wartość") %>% dyOptions(fillGraph = TRUE, fillAlpha = 0.4) %>% dySeries("value", label = "% Pozostawionego narybku") %>%
- dySeries("value2", label = "Łączna liczba ryb złowionych")
- p2 <- dygraph(data,main = "Porównanie połowu na przestrzeni lat", ylab = "Znormalizowana wartość") %>% dyOptions(fillGraph = TRUE, fillAlpha = 0.4) %>% dySeries("value", label = "% Pozostawionego narybku") %>%
- dySeries("value2", label = "Łączna liczba ryb złowionych")
- p3 <- dygraph(data,main = "Porównanie połowu na przestrzeni lat", ylab = "Znormalizowana wartość") %>% dyOptions(fillGraph = TRUE, fillAlpha = 0.4) %>% dySeries("value", label = "% Pozostawionego narybku") %>%
- dySeries("value2", label = "Łączna liczba ryb złowionych")
- p
- p1
- p2
- p3
- #layout(matrix(c(1,2,3,4), 2, 2))
- #plot(1:60, make_sizes("fbar"), xlab = "Kolejne lata", ylab = "Procent pozostawionego narybku", type = "l")
- #plot(1:60, make_sizes("totaln"), xlab = "Kolejne lata", ylab = " Liczba zlowionych sledzi", type = "l")
- #plot(1:60, make_sizes("nao"), xlab = "Kolejne lata", ylab = " nao ", type = "l")
- #plot(1:60, make_sizes("sst"), xlab = "Kolejne lata", ylab = " sst ", type = "l")
- #glony <- completeData %>% group_by(cfin1, cfin2, chel1, chel2, lcop1, lcop2)\
- webshot::install_phantomjs(force=TRUE)
- saveWidget(p, "temp.html", selfcontained = FALSE)
- width<- 1080
- height <- 610
- webshot("temp.html", file = "Rplot.png",
- cliprect = c(10,30,width+50,height+50)
- ,vwidth = width, vheight = height )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement