Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b7166d1578 | ||
|
|
896ba1b3b0 | ||
|
|
ecb5677703 |
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user