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

Text file creation with some information and then data set in R

我想 link writeLines 和 write.table 用于创建我的水文模型的特定数据输入文件。这是代码。我还想在所有变量的末尾显示 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")

一种方法是打开允许附加的文件连接:

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)