4 Commits
8 changed files with 38 additions and 30 deletions
+1
View File
@@ -7,6 +7,7 @@ export(join_speaker)
export(party_colors) export(party_colors)
export(read_all) export(read_all)
export(read_from_csv) export(read_from_csv)
export(read_from_csv_or_fetch)
export(repair) export(repair)
export(word_usage_by_date) export(word_usage_by_date)
export(write_to_csv) export(write_to_csv)
+19
View File
@@ -271,3 +271,22 @@ read_from_csv <- function(path="inst/csv/") {
is_valid_res(res) is_valid_res(res)
res res
} }
#' @param path directory of csv files to read
#' read data from csv files if they exist already
#' otherwise fetch protocols and then write the data into csv files
#'
#' @export
read_from_csv_or_fetch <- function(path="inst/") {
path <- make_directory_path(path)
res <- tryCatch(read_from_csv(str_c(path, "csv/")),
error = function(c) NULL)
if (!is.null(res)) return(res)
fetch_all(str_c(path, "records/"), create=T)
read_all(str_c(path, "records/")) %>%
repair() ->
res
write_to_csv(res, str_c(path, "csv/"), create=T)
res
}
+1 -20
View File
@@ -9,26 +9,7 @@ Using the `remotes` package, this is easily installed via:
```r ```r
remotes::install_url("https://git.flavigny.de/christian/hateimparlament/archive/master.zip") remotes::install_url("https://git.flavigny.de/christian/hateimparlament/archive/master.zip")
``` ```
Since the fetching and reading is very slow and depends on an internet connection, all vignettes If you want to build the vignettes, pass `build_vignettes = TRUE`.
use `read_from_csv` to read already parsed tibbles from `.csv` files.
That's why, if you want to build the vignettes yourself, you need to
download the source code, e.g. on Linux
```
git clone https://git.flavigny.de/christian/hateimparlament
cd hateimparlament
```
then start `R` and do
```r
devtools::load_all()
fetch_all(create = TRUE)
read_all() %>% repair() -> res
write_to_csv(res, create = TRUE)
```
Then finally, do:
```r
devtools::install(build_vignettes = TRUE)
```
# Features # Features
+3 -2
View File
@@ -34,9 +34,10 @@ read_all("../inst/records/") %>% repair() -> res
``` ```
We also used `repair` to fix a bunch of formatting issues in the records. We also used `repair` to fix a bunch of formatting issues in the records.
For development purposes, we load the tables from csv files. For development purposes, we only fetch records if they are not already
stored as csv files:
```{r} ```{r}
res <- read_from_csv('../inst/csv/') res <- read_from_csv_or_fetch('../inst/')
``` ```
## Analysis ## Analysis
+5 -2
View File
@@ -35,10 +35,13 @@ read_all("../records/") %>% repair() -> res
``` ```
We also used `repair` to fix a bunch of formatting issues in the records. We also used `repair` to fix a bunch of formatting issues in the records.
For development purposes, we load the tables from csv files. For development purposes, we only fetch records if they are not already
stored as csv files:
```{r} ```{r}
res <- read_from_csv('../inst/csv/') res <- read_from_csv_or_fetch('../inst/')
``` ```
and unpack our tibbles and unpack our tibbles
```{r} ```{r}
comments <- res$comments comments <- res$comments
+3 -2
View File
@@ -34,9 +34,10 @@ read_all("../inst/records/") %>% repair() -> res
``` ```
We also used `repair` to fix a bunch of formatting issues in the records. We also used `repair` to fix a bunch of formatting issues in the records.
For development purposes, we load the tables from csv files. For development purposes, we only fetch records if they are not already
stored as csv files:
```{r} ```{r}
res <- read_from_csv('../inst/csv/') res <- read_from_csv_or_fetch('../inst/')
``` ```
## Analysis ## Analysis
+3 -2
View File
@@ -38,9 +38,10 @@ talks <- res$talks
We also used `repair` to fix a bunch of formatting issues in the records and unpacked We also used `repair` to fix a bunch of formatting issues in the records and unpacked
the result into more descriptive variables. the result into more descriptive variables.
For development purposes, we load the tables from csv files. For development purposes, we only fetch records if they are not already
stored as csv files:
```{r} ```{r}
tables <- read_from_csv('../inst/csv/') tables <- read_from_csv_or_fetch('../inst/')
comments <- tables$comments comments <- tables$comments
speeches <- tables$speeches speeches <- tables$speeches
+3 -2
View File
@@ -34,9 +34,10 @@ read_all("../inst/records/") %>% repair() -> res
``` ```
We also used `repair` to fix a bunch of formatting issues in the records. We also used `repair` to fix a bunch of formatting issues in the records.
For development purposes, we load the tables from csv files. For development purposes, we only fetch records if they are not already
stored as csv files:
```{r} ```{r}
res <- read_from_csv('../inst/csv/') res <- read_from_csv_or_fetch('../inst/')
``` ```
## Analysis ## Analysis