将带有解析错误的文本块读入 R

Reading blocks of text into R with parsing errors

我正在将我的一个包的函数读取到 R 中,替换一些变量,然后再次保存文件。这是为了规范整个包中函数的命名。

除了一个函数外,代码没有声明任何错误或警告(我还没有测试过函数是否真的有效!)。 问题是解析问题。我已将代码行缩小到以下内容。

我使用了 read_delim,因为 readLines 似乎无法使用引号。

{test <- '
print(paste("Time taken for simulation", i, "is",
                     SimulationRoundTime,
                     "minutes. Est time to completion",
                     round(as.numeric(TimeToCompletion, units = TimeUnit)), #
                     TimeUnit,
                     "Est completion time is",
                     ExpectedCompletionTime))'
  }

read_delim(test, delim ="[\n]",
                      col_names = F, col_types = "c")

为什么read_delim说有3行而不是7行?

我收到的警告信息是

Warning: 4 parsing failures.
row col                     expected actual         file
  3  X1 delimiter or quote                , literal data
  3  X1 delimiter or quote                E literal data
  3  X1 delimiter or quote                , literal data
  3  X1 closing quote at end of file        literal data

它可能会让人感到困惑,因为 test 并不是真正的分隔文本。也许它与双引号和换行符有关。在任何情况下,您最好使用 stringr::str_split(test, "\n")[[1]]readr::read_lines(test) (或基本 R 版本)。两者都会 return 这个:

[1] ""                                                                             
[2] "print(paste(\"Time taken for simulation\", i, \"is\","                        
[3] "                     SimulationRoundTime,"                                    
[4] "                     \"minutes. Est time to completion\","                    
[5] "                     round(as.numeric(TimeToCompletion, units = TimeUnit)), #"
[6] "                     TimeUnit,"                                               
[7] "                     \"Est completion time is\","                             
[8] "                     ExpectedCompletionTime))"