我有来自 pdftools pdf_data() 的输出,用于一个城镇的财务报表页面。不幸的是,在极少数情况下,y 线的捕获会稍微偏离,如下所示。我希望能够对 y 进行分组,包括 y 为 +-1 的情况。
library(data.table)
data <-
read.csv(
text =
"x, y, text\n43, 391, Total\n66, 391, Expenditures\n260, 390, 6476803\n542, 390, 6773717"
)
data <- setDT(data)
# View data
print(data)
#> x y text
#> 1: 43 391 Total
#> 2: 66 391 Expenditures
#> 3: 260 390 6476803
#> 4: 542 390 6773717
# The problem
data[, paste(text, collapse = ""), y]
#> y V1
#> 1: 391 Total Expenditures
#> 2: 390 6476803 6773717
如果 y <= y + 1 和 y => y - 1,则所需的输出是这样的:
#> y V1
#> 1: c(391, 390) Total Expenditures 6476803 6773717
大多数关于在一个范围内分组的尝试建议为高和低创建新列,创建一个新变量 cut() 进行分组,但我不确定从哪里开始实现这一点。我也有数千页,其中 y 不断变化。
我通常在 data.table 中使用,因此首选解决方案。
由reprex 包于 2021-05-20 创建 (v2.0.0 )