R,fread CSV - 如何在单元格值中维护换行符?

时间:2018-06-15 10:31:04

标签: r fread

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

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

我的问题如下:

  1. 有没有办法使用fread来维护这些换行符?
  2. 如果没有,我可以在csv文件中以不同方式格式化它们吗?
  3. 如果没有,我可以使用gsub或类似内容删除文件读入向量后的额外换行符吗?
  4. 我已经尝试了各种方式来实现gsub(和sub),但是他们要么摆脱两个转义字符,例如gsub("\\\\", "\\", myVec) [1] "Energy nElectricity",或者他们抛出错误。我想我错过了一些明显的东西。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

如果没有人想出更好的解决方案,那就是使用gsub清理它的方法:

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

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