Импортировать файл из среды вместо read.table

#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"),