如何将两个变量写入一个文本文件?

时间:2013-03-10 11:09:54

标签: r

我有两个文件,我想基于彼此进行一些计算。

文件1:

conne <- file("C:\\bias.bin","rb")
cor<- readBin(conne, numeric(), size=4,  n=1440*720, signed=TRUE)

文件2:

conne2 <- file("C:\\me1440s.bin","rb")
bioms<- readBin(conne2, integer(), size=1,  n=1440*720, signed=F)

计算:

 mean=tapply(cor, bioms, mean, na.rm=TRUE)
 sd=tapply(cor, bioms, sd, na.rm=TRUE)
 min=tapply(cor, bioms, min, na.rm=TRUE)

写入文本文件:

write.table(min, "C:\\Users\\period.txt", sep="\t")

这将只写一个文本文件。如何将所有mean,sd和min写入一个文本文件?

3 个答案:

答案 0 :(得分:6)

如果meansdmin长度相同,您可以将所有变量放在一个数据框中,然后写入文件。

write.table(data.frame(mean,sd,min), "C:\\Users\\period.txt", sep="\t")

答案 1 :(得分:5)

在比@ Didzis的答案更普遍的意义上,您可以在append = TRUE的调用中使用write.table。来自write.table的文档:

  

追加:逻辑。仅在'file'是字符串时才相关。如果             'TRUE',输出附加到文件。如果'FALSE',任何             现有的名称文件被销毁。

因此,您可以多次调用write.table,并将所有输出都放在一个文件中:

write.table(mean, "C:\\Users\\period.txt", sep="\t")
write.table(sd, "C:\\Users\\period.txt", sep="\t", append = TRUE)
write.table(min, "C:\\Users\\period.txt", sep="\t", append = TRUE)

答案 2 :(得分:2)

没有直接关联,但是如果您不想写入文本文件,则可以使用Rdata R文件格式,该格式以二进制,更紧凑的方式存储数据,但不兼容与其他软件。

您可以通过以下方式将多个对象保存在同一Rdata文件中:

save(obj1, obj2, obj3, file="myfile.rda")

然后在另一个R会话中你可以做到:

load("myfile.rda")

以前保存的对象将可供您的R会话访问。