Как разделить столбец данных из таблицы матрицы, извлеченной из PDF, с помощью функции tabulizer () на несколько столбцов в R - PullRequest
0 голосов
/ 02 апреля 2020

Я работаю над проектом, включающим отчет DHS 2018 для Нигерии, для которого требуются некоторые таблицы в CSV с четкими заголовками, как в PDF-версии, прежде чем я смогу провести дополнительную обработку данных в R. Я использовал tabulizer для извлечения соответствующих таблиц, используя опция вывода матрицы, моя таблица для воды (Таблица 2.1.2 Питьевая вода в зависимости от зоны, состояния и богатства) имеет один столбец вместо 7 столбцов. Ниже приведен код и итоговая таблица.

library(tabulizer)
library(tidyverse)
library(tidyr)
library(stringr)


ndhs2018 <- "https://dhsprogram.com/pubs/pdf/FR359/FR359.pdf"

ndhs2018 <- "C:/Users/USER/Desktop/NDHS2018/FR359.pdf"
water <- extract_tables(ndhs2018 , pages = 65, output = "matrix")

[[1]]
      [,1]                                                                                                                                              
 [1,] "Table 2.3.2  Sanitation facility type according to zone, state, and wealth"                                                                      
 [2,] "Percent distribution of de jure population by type of sanitation, percentage of de jure population with basic sanitation service, and percentage"
 [3,] "with limited sanitation service, according to zone, state, and wealth quintile, Nigeria DHS 2018"                                                
 [4,] "Type of sanitation Percentage Percentage"                                                                                                        
 [5,] "Improved Unimproved with basic with limited"                                                                                                     
 [6,] "Background  sanitation sanitation Open sanitation sanitation Number of"                                                                          
 [7,] "characteristic facility1 facility2 defecation Total service3 service4 persons"                                                                   
 [8,] "Zone"                                                                                                                                            
 [9,] "North Central 42.9 5.9 51.1 100.0 24.0 18.9 25,640"                                                                                              
[10,] "North East 51.2 26.4 22.5 100.0 41.8 9.3 32,602"                                                                                                 
[11,] "North West 42.5 48.2 9.3 100.0 30.9 11.6 58,840"                                                                                                 
[12,] "South East 64.0 10.1 25.8 100.0 48.1 15.9 20,227"                                                                                                
[13,] "South South 64.5 13.5 22.1 100.0 37.0 27.5 20,552"                                                                                               
[14,] "South West 71.4 4.3 24.3 100.0 30.4 40.6 30,495"                                                                                                 
[15,] ""   

Необходимые имена:

colnames(water_df_v1 ) <- c("Backgroundcharacteristic", 
                    "Improved source ofdrinking water1", 
                    "Unimproved source of drinking water2", 
                    " Total ", 
                    "Percentage with basic drinking water service3", 
                    "Percentage with limited drinking water service4", 
                    "Number of persons") # Modify column names
...