我正在使用其他人的包裹。如您所见,函数中有一个ImportHistData
术语。我想从环境以rainfall
的名称而不是rainfall.txt
的名称导入文件。当我将rainfall.txt
替换为rainfall
时,出现此错误:
read.table(x,header = FALSE,fill = TRUE,na.strings = y)中的错误: “文件”必须是字符串或连接
那么,要不以文本形式导入文件,应该遵循哪种方式?
函数的原始形状
DisagSimul(TimeScale=1/4,BLpar=list(lambda=l,phi=f,kappa=k,
alpha=a,v=v,mx=mx,sx=NA),CellIntensityProp=list(Weibull=FALSE,
iota=NA),RepetOpt=list(DistAllowed=0.1,FacLevel1Rep=20,MinLevel1Rep=50,
TotalRepAllowed=5000),NumOfSequences=10,Statistics=list(print=TRUE,plot=FALSE),
ExportSynthData=list(exp=TRUE,FileContent=c("AllDays"),file="15min.txt"),
ImportHistData=list("rainfall.txt",na.values="NA",FileContent=c("AllDays"),
DaysPerSeason=length(rainfall$Day)),PlotHyetographs=FALSE,RandSeed=5)
函数中ImportHistData部分的来源
ImportHistDataFun(mode = 1, x = ImportHistData$file,
y = ImportHistData$na.values, z = ImportHistData$FileContent[1],
w = TRUE, s = ImportHistData$DaysPerSeason, timescale = 1)
答案 0 :(得分:0)
首先,检查软件包的文档,看看方法(?DisagSimul
)是否允许将内存中的数据帧用于 ImportHistData 参数,而不是从外部.txt文件中读取。
如果该功能设置为仅从磁盘读取文件,并且您不想将 rainfall 数据帧永久保存为文件,请考虑使用仅存在的tempfile
在R会话中或直到您使用unlink()
:
# INITIALIZE TEMP FILE
tf <- tempfile(pattern = "", fileext = ".txt")
# EXPORT rainfall to FILE
write.table(rainfall, tf, row.names=FALSE)
...
# USE TEMPFILE IN METHOD
DisagSimul(...
ImportHistData = list(tf, na.values="NA", FileContent=c("AllDays"),