Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
556
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. library(dplyr)
  2. library(magrittr)
  3. library(dygraphs)
  4.  
  5. library(htmlwidgets)
  6. library(webshot)
  7.  
  8. fileName = "data/sledzie.csv"
  9. herrings = read.csv(fileName, header = TRUE, sep = ",", dec = ".")
  10. herrings[herrings == "?"] <- NA
  11.  
  12. completeData <- herrings %>% mutate(
  13. cfin1 = case_when((is.na(cfin1) & !is.na(lag(cfin1))) ~ lag(cfin1), is.na(cfin1) ~ lead(cfin1), TRUE ~ cfin1),
  14. cfin2 = case_when((is.na(cfin2) & !is.na(lag(cfin2))) ~ lag(cfin2), is.na(cfin2) ~ lead(cfin2), TRUE ~ cfin2),
  15. chel1 = case_when((is.na(chel1) & !is.na(lag(chel1))) ~ lag(chel1), is.na(chel1) ~ lead(chel1), TRUE ~ chel1),
  16. chel2 = case_when((is.na(chel2) & !is.na(lag(chel2))) ~ lag(chel2), is.na(chel2) ~ lead(chel2), TRUE ~ chel2),
  17. lcop1 = case_when((is.na(lcop1) & !is.na(lag(lcop1))) ~ lag(lcop1), is.na(lcop1) ~ lead(lcop1), TRUE ~ lcop1),
  18. lcop2 = case_when((is.na(lcop2) & !is.na(lag(lcop2))) ~ lag(lcop2), is.na(lcop2) ~ lead(lcop2), TRUE ~ lcop2),
  19. sst = case_when((is.na(sst) & !is.na(lag(sst))) ~ lag(sst), is.na(sst) ~ lead(sst), TRUE ~ sst)
  20. )
  21.  
  22. completeData <- completeData %>% filter_all(all_vars(!is.na(.)))
  23. groupedData <- completeData %>% group_by(cfin1, cfin2, chel1, chel2, lcop1, lcop2, fbar, recr, cumf, totaln, sst, sal, nao)
  24.  
  25. make_sizes <- function(name){
  26. herr_vec <- groupedData[[name]]
  27. max <- dim(herrings)[1]
  28. average <- as.integer(max/60)
  29.  
  30. sizes <- c()
  31. sum <- 0
  32.  
  33. for (index in 1:length(herr_vec) ) {
  34. #tmp_sizes <- c(tmp_sizes, herr_vec[index])
  35. sum <- sum + herr_vec[index]
  36.  
  37. if (index %% average == 0) {
  38. mean <- sum/60
  39. sizes <- c(sizes, mean)
  40. sum <- 0
  41. }
  42. }
  43. return(sizes)
  44. }
  45.  
  46. normalize <- function(x) {
  47. return ((x - min(x)) / (max(x) - min(x)))
  48. }
  49.  
  50. # --- Format 1: time is represented by a simple number. (must be numeric and ordered)
  51. data <- data.frame(
  52. time=c( seq(0,58,1), 60),
  53. value= normalize(make_sizes("fbar") ),
  54. value2 = normalize( make_sizes("totaln") )
  55. )
  56.  
  57. data1 <- data.frame(
  58. time=c( seq(0,58,1), 60),
  59. value= normalize(make_sizes("fbar") ),
  60. value2 = normalize( make_sizes("totaln") )
  61. )
  62.  
  63. data2 <- data.frame(
  64. time=c( seq(0,58,1), 60),
  65. value= normalize(make_sizes("fbar") ),
  66. value2 = normalize( make_sizes("totaln") )
  67. )
  68.  
  69. data3 <- data.frame(
  70. time=c( seq(0,58,1), 60),
  71. value= normalize(make_sizes("fbar") ),
  72. value2 = normalize( make_sizes("totaln") )
  73. )
  74.  
  75. # Use dygraph
  76. str(data)
  77. 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") %>%
  78. dySeries("value2", label = "Łączna liczba ryb złowionych")
  79. 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") %>%
  80. dySeries("value2", label = "Łączna liczba ryb złowionych")
  81. 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") %>%
  82. dySeries("value2", label = "Łączna liczba ryb złowionych")
  83. 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") %>%
  84. dySeries("value2", label = "Łączna liczba ryb złowionych")
  85. p
  86. p1
  87. p2
  88. p3
  89.  
  90. #layout(matrix(c(1,2,3,4), 2, 2))
  91. #plot(1:60, make_sizes("fbar"), xlab = "Kolejne lata", ylab = "Procent pozostawionego narybku", type = "l")
  92. #plot(1:60, make_sizes("totaln"), xlab = "Kolejne lata", ylab = " Liczba zlowionych sledzi", type = "l")
  93. #plot(1:60, make_sizes("nao"), xlab = "Kolejne lata", ylab = " nao ", type = "l")
  94. #plot(1:60, make_sizes("sst"), xlab = "Kolejne lata", ylab = " sst ", type = "l")
  95.  
  96. #glony <- completeData %>% group_by(cfin1, cfin2, chel1, chel2, lcop1, lcop2)\
  97. webshot::install_phantomjs(force=TRUE)
  98.  
  99. saveWidget(p, "temp.html", selfcontained = FALSE)
  100. width<- 1080
  101. height <- 610
  102. webshot("temp.html", file = "Rplot.png",
  103. cliprect = c(10,30,width+50,height+50)
  104. ,vwidth = width, vheight = height )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement