使用 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=",")
有没有什么简单的方法,在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=",")