Στην ιστοσελίδα http://www.gsis.gr/gsis/info/gsis_site/PublicIssue/profit_fp/ υπάρχει ένας πίνακας με τις Ληξιπρόθεσμες οφειλές φυσικών προσώπων. Χρησιμοποιώντας το R, να αντληθεί ο πίνακας και να υπολογιστούν σύνολα και μέσοι όροι (προφανώς για τις στήλες που περιέχουν αριθμούς).
Μια λύση
# url url <- "http://www.gsis.gr/gsis/info/gsis_site/PublicIssue/profit_fp/" # scrap html table | source: <http://stackoverflow.com/a/1849388/1172302> library(XML) table <- readHTMLTable(url, header = TRUE , stringsAsFactors = FALSE , skip=1) debtors <- table[[1]] # or, directly # debtors <- readHTMLTable(url, header = TRUE , stringsAsFactors = FALSE , skip=1)[[1]] # convert cols 3:6 to numbers, comma to dec. separator, remove thousands separator # source: <http://stackoverflow.com/a/2347548/1172302> debtors[,3:6] <- do.call ( "cbind.data.frame", lapply ( debtors[,3:6], function(x) as.numeric ( gsub(',', '.', gsub("\\.", '', x) ) ) ) ) # empty the actual empty column "Παρατηρήσεις" -- or remove? debtors$Παρατηρήσεις <- gsub("\\.", '', debtors$Παρατηρήσεις) summary(debtors[,3:6]) Βασική οφειλή Δ.Ο.Υ. Βασική οφειλή Τελωνείων Συνεισπραττόμενα Min. : 0 Min. : 0 Min. : 0 1st Qu.: 205226 1st Qu.: 0 1st Qu.: 140312 Median : 353262 Median : 0 Median : 334457 Mean : 1950000 Mean : 138575 Mean : 1692326 3rd Qu.: 1029652 3rd Qu.: 0 3rd Qu.: 948925 Max. :561587314 Max. :122729561 Max. :508454226 Σύνολο Min. :1.527e+05 1st Qu.:3.781e+05 Median :7.142e+05 Mean :3.781e+06 3rd Qu.:2.108e+06 Max. :1.070e+09
Αθροίσματα και μέσοι όροι
# sums colSums(debtors[,3:6]) Βασική οφειλή Δ.Ο.Υ. Βασική οφειλή Τελωνείων Συνεισπραττόμενα 9929399419 705626367 8617325020 Σύνολο 19252350806 # means colMeans(debtors[,3:6]) Βασική οφειλή Δ.Ο.Υ. Βασική οφειλή Τελωνείων Συνεισπραττόμενα 1949999.9 138575.5 1692326.2 Σύνολο 3780901.6