【发布时间】:2020-05-20 01:21:52
【问题描述】:
我有一个看起来像这样的数据框
df
Country Year col3. col4. col5
USA2018 10 50 13 NA
UK 2018 4 12 6 NA
China 2018 15 4 1
Malta NA 2018 25 8
我想将“Country”列的字符串拆分为“2018”模式,用于将 2018 合并到第一列的行,并针对 Year 为 NA 的行转移到 Year 列并具有此输出:
df
Country Year col3. col4. col5
USA 2018 10 50 13
UK 2018 4 12 6
China 2018 15 4 1
Malta 2018 25 8 NA
有什么建议吗?
编辑:此数据是PDF抓取的结果。Link to PDF,代码如下:
# install.packages("pdftools")
# install.packages("readr")
library(pdftools)
library(readr)
epi <- pdf_text("malaria_epi.pdf")
epi_df <- epi %>%
read_lines() %>%
grep('^\\s{2}\\w', ., value = TRUE) %>%
paste(collapse = '\n') %>% read_fwf(fwf_empty(.))
【问题讨论】:
-
我认为数据导入出错了,原始文件是什么样的?
-
它是从pdf中抓取的
-
如果可以的话,你能提供PDF和用于抓取的代码吗?如果不是,这可以用正则表达式来完成。但我希望我们可以修复导入步骤,而不是处理导入造成的问题。 (XY问题)
-
我对您的帖子进行了更详细的编辑,以后请使用“编辑”。
-
使用制表符查看related post:
标签: r regex dataframe strsplit