使用选项卡将数据写入文件

时间:2013-01-03 11:21:41

标签: r paste

我的文件包含由标签分隔的信息。我想将计算值附加到每个特定文件,并尝试使用'paste'命令获取相同的格式,但它会分隔一行而不是一个制表符。 该文件看起来像([tab]代表一个标签):

text[tab]=[tab]value
text[tab]=[tab]value

使用粘贴创建单行无法使用粘贴,因为它将打印\ t:

conv <- paste("conversion", "=", (y[,2]/90.6),sep="\t")

但如果我稍后尝试使用以下方法添加标签:

conv <- paste("conversion", "=", (y[,2]/90.6),sep=",")
write(conv, file = "data.dat", append = TRUE, sep = "\t")

“conv”分开来了:

text[tab]=[tab]value
text[tab]=[tab]value
conversion
=
11.7991169977925

而不是标签(我想要的):

text[tab]=[tab]value
text[tab]=[tab]value
conversion[tab]=[tab]11.80

我确信必须有一个非常简单的解决方案,但我根本找不到。谢谢!

1 个答案:

答案 0 :(得分:5)

我认为这可以使用Arun的建议实现你想要的。虽然,我同意Carl Witthoft的评论。

y1 <- c(10, 20)
y2 = c(100,200)
y <- data.frame(y1,y2)
colnames(y) <- c('y1','y2')

y3 <- (y[,2]/90.6)

df <- data.frame('conversion', '=', y3)
colnames(df) <- c('t1', 't1', 'y3')
df

write.table(df, file = "c:/users/Mark W Miller/simple R Programs/my.data.txt", 
            append = TRUE, sep = "\t", row.names=FALSE, col.names=FALSE, quote=FALSE)

输出文件是:

conversion  =   1.1037527593819
conversion  =   2.2075055187638