0

我有来自 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 )

4

0 回答 0