R: Экспорт вложенного списка фреймов данных
Я создал вложенный список фреймов данных, используя функцию tabyl в janitory и lapply. Поскольку функция tabyl с тремя переменными возвращает список фреймов данных, использование результатов lapply во вложенном списке. В этом случае я смотрю на различные переменные по демократическим показателям и регионам. Результат выглядит примерно так:
$ Freedom of Expression
..$ Africa (tabyl)
..$ Asia (tabyl)
..$ Europe (tabyl)
$ Freedom of Movement
..$ Africa (tabyl)
..$ Asia (tabyl)
..$ Europe (tabyl)
С каждым регионом, имеющим фрейм данных, который выглядит следующим образом:
regime High Freedom of Expression Low Freedom of Expression Mid-Range Freedom of Expression Total
Democracy 100.0% (1) 0.0% (0) 70.0% (21) 44.9% (22)
Hybrid Regime 0.0% (0) 38.9%(7) 30.0% (9) 32.7% (16)
Non-Democratic Regime 0.0% (0) 61.1% (11) 0.0% (0) 22.4% (11)
Я хотел бы экспортировать это в.csv или текстовый файл, чтобы поделиться с людьми, которые не знают, как использовать R.
Я попытался использовать функцию flatten из purrr, однако это приводит к списку регионов, но с перекрестными таблицами только из одной из переменных. Я также использовал list.flatten из пакета rlist, но в итоге он возвращает каждую строку фрейма данных как отдельный элемент в списке.
Благодарен за любые предложения.
1 ответ
Первый map(bind_rows)
(на глубине 1), а затем второй bind_rows
library(tidyverse)
library(janitor)
#>
#> Attaching package: 'janitor'
#> The following objects are masked from 'package:stats':
#>
#> chisq.test, fisher.test
lapply(
replicate(2, mtcars, simplify = FALSE),
tabyl, cyl, gear, am
) %>%
map(bind_rows, .id = "region") %>%
bind_rows(.id = "freedom_of")
#> freedom_of region cyl 3 4 5
#> 1 0 4 1 2 0
#> 1 0 6 2 2 0
#> 1 0 8 12 0 0
#> 1 1 4 0 6 2
#> 1 1 6 0 2 1
#> 1 1 8 0 0 2
#> 2 0 4 1 2 0
#> 2 0 6 2 2 0
#> 2 0 8 12 0 0
#> 2 1 4 0 6 2
#> 2 1 6 0 2 1
#> 2 1 8 0 0 2
Создано 2019-04-30 пакетом представлением (v0.2.1)