3

我的文件中的信息由制表符分隔。我想将计算值附加到每个特定文件,并尝试使用“粘贴”命令获得相同的格式,但它分隔了一行而不是一个制表符。该文件看起来像([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

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

4

1 回答 1

7

我认为这使用 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
于 2013-01-03T12:27:34.887 回答