#r
#r
Вопрос:
Я использую пакет кого-то другого. Как вы видите, в функции есть ImportHistData
термин. Я хочу импортировать файл из среды как rainfall
имя вместо rainfall.txt
. Когда я заменяю rainfall.txt
на rainfall
, я получаю эту ошибку:
Ошибка в read.table(x, header = FALSE, fill = TRUE, na.strings = y): ‘file’ должен быть символьной строкой или соединением
Итак, чтобы импортировать файл не в виде текста, каким путем мне следует следовать?
Оригинальная форма функции
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)
Ответ №1:
Во-первых, проверьте документацию пакета и посмотрите, позволяет ли метод ( ?DisagSimul
) использовать фрейм данных в памяти для аргумента ImportHistData вместо чтения из внешнего файла .txt.
Если функция настроена только на чтение файла с диска, и вы не хотите постоянно сохранять фрейм данных о осадках в виде файла, рассмотрите возможность использования, 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"),