R,fread CSV - 如何保持单元格值中的换行符?

R, fread CSV - how to maintain line breaks in cell values?

我有一个 CSV 文件,我正在使用 fread 将其读入 R 脚本。结果变量是一个向量,这是我流程下一步所需要的。我的 CSV 文件中有一些值,例如 'Energy \nElectricity',目的是这些将成为图表的标签,在(在本例中)'Energy''Electricity' 之间有一个换行符格式化原因。

当我手动将向量编码为 myVec <- c('Energy \nElectricity'),这工作正常并且换行符保持不变。 但是,当我使用 fread 读取数据时,生成的向量实际上是 c('Energy \nElectricity'),即该过程插入了一个额外的转义字符并且格式丢失了。

我的问题如下:

  1. 有没有办法使用 fread 来维护这些换行符?
  2. 如果没有,我可以在我的 csv 文件中采用不同的格式吗?
  3. 如果没有,我可以使用 gsub 或类似的方法在文件被读入矢量后删除额外的换行符吗?

我已经尝试了各种方式来实现 gsub(和 sub),但他们要么摆脱了两个转义字符,例如 gsub("\\", "\", myVec) 这给出了 [1] "Energy nElectricity",否则他们会抛出错误。我想我错过了一些明显的东西。任何帮助表示赞赏。

如果没有人提出更好的解决方案,这就是您使用 gsub 清理它的方式:

gsub("\n", "\n", "Energy \nElectricity", fixed = TRUE)

fixed 选项忽略所有正则表达式字符,并且比 fixed = FALSE.

快得多