使用 sink() 和 cat() 在 R 中写入 csv

Using sink() and cat() to write to csv in R

有没有什么简单的方法,在R中使用sink()写入csv文件时,写一行,前2个单元格为空,第三个单元格有一个特定的字符串?这并不是那么简单,我正在为此苦苦挣扎。我尝试了以下方法:

# this approach writes all 5 numbers in one (the first) line with 2 spaces between each number
sink('myfile.csv')
for(i in 1:5) {
  cat(c(' ', ' ', i))
}
sink()


# this approach writes each number on its own line, but in the 1st column with 2 spaces the number
sink('myfile.csv')
for(i in 1:5) {
  cat(c(' ', ' ', i), '\n')
}
sink()

# this approach throws an error
sink('myfile.csv')
for(i in 1:5) {
  a = data.frame(` ` = '', `  ` = '', `Requested Access?` = '')
  cat(a, '\n')
}
sink()

为了验证,我在上面的示例中所需的输出将是一个 CSV 文件,其中每个数字 1、2、3、4、5 都在它们自己的行中,每个都在 C 列中。对此的任何帮助是赞赏!

您需要在空格中添加逗号:

sink('myfile.csv')
for(i in 1:5) {
  cat(c(' ,', ' ,', i), '\n')
}
sink()

或者,使用 write.table 来避免 for 循环:

write.table(data.frame(` `=" ", ` `= "", ` ` = 1:5),
          row.names=FALSE,
          col.names = FALSE, 
          file = "myfile.csv",
          sep=",")