我有一个关于删除列数据框内的字符文本中的空格的问题.这是我的数据框列:
head(data$HO)
[1] "Lidar; Wind field; Temperature; Aerosol; Fabry-Perot etalon"
[2] "Compressive ghost imaging; Guided filter; Single-pixel imaging"
Run Code Online (Sandbox Code Playgroud)
这个问题与这一个链接不同,因为我只想删除符号";"后面的空格.,所以输出应该如下所示:
head(data$HO)
[1] "Lidar;Wind field;Temperature;Aerosol;Fabry-Perot etalon"
[2] "Compressive ghost imaging;Guided filter;Single-pixel imaging"
Run Code Online (Sandbox Code Playgroud)
我试过了
data$HO <- gsub("\\;s", ";",data$HO)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有什么建议吗?
这可能很容易,但是我还没有弄清楚。
这是我的数据集的一部分:
structure(list(Patent = c("4683202", "4683195", "4800159", "4965188",
"4994368", "5328824", "4879214", "4921794", "4983728", "4994372"
), subclass = c("435/91.2", "435/91.2", "435/91.2", "435/91.2",
"435/91.2", "435/91.2", "435/91.2", "435/91.2", "435/91.2", "435/91.2"
), AppYear = c(1985L, 1986L, 1986L, 1987L, 1987L, 1987L, 1988L,
1988L, 1990L, 1990L), app = 1:10, class = "data.frame", row.names = c(NA,
-10L), .Names = c("Patent", "subclass", "AppYear", "app", "lag(AppYear)"
))
> data
# A tibble: 10 x 3
Patent subclass AppYear
<chr> <chr> <int>
1 4683202 435/91.2 1985
2 4683195 435/91.2 1986 …Run Code Online (Sandbox Code Playgroud) 我正在尝试抓取包含有关公司子公司信息的PDF。我看过很多使用 R 包 Tabulizer 的帖子,但不幸的是,由于某些原因,这在我的 Mac 上不起作用。由于 Tabulizer 使用 Java 依赖项,我尝试安装不同版本的 Java (6-13),然后重新安装软件包,但仍然无法正常工作(当我运行extract_tablesR 会话时会发生什么情况)。
我需要从第 19 页开始抓取整个 pdf 并构建一个显示公司名称及其子公司的表格。在 pdf 中,名称以任何字母/数字/符号开头,而子公司以单点或双点开头。
所以我尝试使用pdftools和pdftables包装。下面的代码提供了一个类似于第 19 页上的表格:
library(pdftools)
library(pdftables)
library(tidyverse)
tt = pdf_text("~/DATA/978-1-912036-41-7-Who Owns Whom UK-Ireland-Volume-1.pdf")
df <- tt[19]
df2 <- strsplit(df, ' ')
df3 <-as.data.frame(do.call(cbind, df2)) %>%
filter(V1!="") %>%
mutate(V2=str_split_fixed(V1, "England . ", 2)) %>%
mutate(V3=str_split_fixed(V1, "England", 2)) %>%
select(V2,V3,V1) %>%
mutate(V1=ifelse(V1==V3,"",V1),V3=ifelse(V3==V2,"",V3)) %>%
select(V3,V2,V1) %>%
mutate_at(c("V1"), funs(lead), n = 1 ) %>% …Run Code Online (Sandbox Code Playgroud)