我有一個 for 回圈,在每個回圈中它執行一個函式。首先,我.rda從目錄中加載檔案,然后希望將加載的檔案(它們是資料幀)分配給spread并ind尊重。我怎樣才能做到這一點?請注意,一旦加載的變數名稱在每個回圈中都是不同的,即當 #1 被加載時,它顯示為NS.ticker_list[j,2],而 #2 為Forward.rate.ticker_list[j,2]。
for(j in 1:nrow(ticker_list)){
load(file = gsub(" ","",paste(ticker_list[j,2],"_NS.rda"))) #1
load(file = gsub(" ","",paste(ticker_list[j,2],"_Forward.rda"))) #2
p <- arima.auto.fun(spread, ind, maturity_list, lag = 1)
}
uj5u.com熱心網友回復:
您可以將每個檔案加載到新環境中,將環境轉換為串列物件,然后將串列中的第一個(也是唯一的)物件分配給spread和ind變數。您沒有提供可重現的示例,因此以下是粗略的猜測。我還洗掉了看似不必要的使用,gsub并將其替換為更簡單的paste0.
for(j in 1:nrow(ticker_list)){
NS_env <- new.env()
Forward_env <- new.env()
load(file = paste0(ticker_list[j,2],"_NS.rda"), envir = NS_env) #1
load(file = paste0(ticker_list[j,2],"_Forward.rda"), envir = Forward_env) #2
NS_list <- as.list(NS_env)
Forward_list <- as.list(Forward_env)
spread <- NS_list[[1]]
ind <- Forward_list[[1]]
p <- arima.auto.fun(spread, ind, maturity_list, lag = 1)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/445056.html
上一篇:從值串列中查找所有區域極值
