【问题标题】:Can the quote argument in write.table() only use double quotation marks?write.table() 中的引号参数可以只使用双引号吗?
【发布时间】:2012-07-23 10:11:59
【问题描述】:

在 R 的 write.table() 函数中,是否可以为 quote 参数提供一个字符来代替标准双引号 (")?

例如尝试提供单引号 ' 作为参数:

  name sex age height
1   x1   F  18    162
2   x2   M  19    170
3   x3   M  21    178
4   x4   F  22    166
5   x5   F  23    165

write.table('test',data,sep=',',row.names=F,quote="\'")  

返回:

write.table("test", data, sep = ",", row.names = F, quote = "\'") 中的错误: 无效的“报价”规范

【问题讨论】:

  • 正如我在对下面答案的评论中所说,write.table 的参数 quote 预计会被告知是否在结果文件中打印引号(请参阅?write.table)。所以这不是在单引号和双引号之间选择的正确参数。话虽如此,我不知道它会是哪个论点(因为论点qmethod 似乎也不合适)。
  • 您始终可以通过预处理数据框中的字符列以添加所需的引号字符来解决此问题,然后执行write.table(..., quote=F),因为引号已经存在。有关插入引号的一种方法,请参阅 ?gsub
  • 这有点愚蠢。为什么 write.table 不能像 read.table 一样有引用字符?

标签: r


【解决方案1】:

我明白了。

  1. quote=T,每列数据都用双引号括起来。
  2. quote=F,每列数据不会被双引号括起来。
  3. quote=vector,如同道:

    write.table(file='test',data,sep=',',row.names=F,quote=c(1,2))

第 1 列、第 2 列将用双引号括起来。

【讨论】:

  • 但这似乎没有回答你原来的问题。
  • @CarlWitthoft 我认为 Peng 总结了 write.table 参数 quote 其中(s?)他意识到只有 TFnumeric 参数传递给这个选项.
  • 我不知道我们只能将quote 用于数据框的选定列。这个答案拯救了我的夜晚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多