我有两个文件,我想基于彼此进行一些计算。
文件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写入一个文本文件?
答案 0 :(得分:6)
如果mean
,sd
和min
长度相同,您可以将所有变量放在一个数据框中,然后写入文件。
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会话访问。