【问题标题】:Writing array to CSV, unexpected behaviour for col.names = F将数组写入 CSV,col.names = F 的意外行为
【发布时间】:2016-10-18 09:44:39
【问题描述】:

我正在尝试将数组写入没有行名和列名的 CSV。将列名设置为 false 似乎不起作用。我得到“x”作为列名和警告。

任何想法如何删除这个“x”?

write.csv(1:5, row.names = F, col.names = F)

# "x"
# 1
# 2
# 3
# 4
# 5
# Warning message:
#   In write.csv(1:5, row.names = F, col.names = F) :
#   attempt to set 'col.names' ignored

【问题讨论】:

  • 试试write.csv(1:5, row.names = FALSE, col.names = NULL)write.csv调用write.table,你可以在函数体中确认这一点

标签: r csv


【解决方案1】:

?write.csv 告诉我们,除其他外,对于 write.csv 的参数:

append、col.names、sep、dec 和 qmethod 无法更改

解决这个问题的方法是使用更通用的版本 write.table。

write.table(1:5, row.names = FALSE, col.names = FALSE, sep=',')
# 1
# 2
# 3
# 4
# 5

【讨论】:

  • help(write.csv): "write.csv 和 write.csv2 为编写 CSV 文件提供了方便的包装器。[...] 这些包装器故意不灵活:它们旨在确保使用正确的约定来编写有效的文件。更改 append、col.names、sep、dec 或 qmethod 的尝试将被忽略,并发出警告。"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多