创建文本文件,包含一些信息,然后在R中设置数据

时间:2017-05-11 19:50:16

标签: r optimization export

我想链接writeLines和write.table来创建我的Hydrological Model的特定数据输入文件。这是代码。我还想在所有变量的末尾显示jus RootDepth Columan名称,但它应该是空白的。 我也将继续努力,因为我将输入Prec中特定行的值,并提供rRoot值。

txt <- "Pcp_File_Version=4\n*** BLOCK I: ATMOSPHERIC INFORMATION

**********************************
\nMaxAL                    (MaxAL = number of atmospheric data-records)
\n116\nDailyVar  SinusVar  lLay  lBCCycles lInterc lDummy  lDummy  lDummy  lDummy  lDummy
\nf       f       f       f       f       f       f       f       f       f
\nhCritS                 (max. allowed pressure head at the soil surface)
\n0"
writeLines(txt, "ATMOSPH.txt")
#file.show("ATMOSPH.txt")

ATMOSPH<-data.frame(tAtm, Prec, rSoil, rRoot, hCritA, rB, hB, hT, RootDepth)
tAtm<-c(1:30)
Prec<-rep(0, 30)
rSoil<-rep(0, 30)
rRoot<-rep(0, 30)
hCritA<-rep(10000, 30)
rB<-rep(0, 30)
hB<- rep(0, 30)
hT<-rep(0, 30)
#RootDepth<-()
#write.table("ATMOSPH")
write.table(ATMOSPH, "G:/Rlearning/ATMOSPH.txt", row.name=FALSE, quote=FALSE, sep="\t")

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是打开允许追加的文件连接:

fileConn <- file("ATMOSPH.txt", open="a")

txt <- "Pcp_File_Version=4\n*** BLOCK I: ATMOSPHERIC INFORMATION**********************************
\nMaxAL                    (MaxAL = number of atmospheric data-records)
\n116\nDailyVar  SinusVar  lLay  lBCCycles lInterc lDummy  lDummy  lDummy 
lDummy  lDummy
\nf       f       f       f       f       f       f       f       f       f
\nhCritS                 (max. allowed pressure head at the soil surface)
\n0"

writeLines(txt, con = fileConn)

然后在构建ATMOSPH数据帧之后,将其添加到文件中,如下所示:

write.table(ATMOSPH, file = fileConn, row.name=FALSE, quote=FALSE, sep="\t")

不要忽视关闭连接:

close(fileConn)