簡體   English   中英

R lapply,列表的訪問元素

[英]R lapply, access elements of a list

我想我缺少一些簡單的東西,但是我很難訪問列表中的lapply

問題:我想下載和讀取FTP上有許多文件。 因此,我需要指定位置,下載並閱讀。 我認為所有這些都可以通過一些列表來最好地處理,但是我無法真正在我的函數中使用它。

我希望能夠從調用lapply(lst,...)因為我需要在同一函數中同時使用變量名(a)和url,以便輕松下載並命名它們。

代碼示例:

a <- "ftp://user:pass@url_A1" 
b <- "ftp://user:pass@url_B1" 
c <- "ftp://user:pass@url_C1" 
d <- "ftp://user:pass@url_D1"

lst <- list(a, b, c, d)
names(lst) <- c("a", "b", "c", "d")

預期目標:

print(lst[[1]]), ...., print(lst[[4]])

我試過的

lapply(lst, 
function(x) print(x[[]]) 
)

# Error!

我的真實代碼看起來更像:

lapply(lst, 
       function(x) download.file(url = x[[]], # Error!  
                               destfile = paste0(lok, paste0(names(x), ".csv")),
                               quiet = FALSE)
      )

編輯:

我知道x[[]]會引發錯誤,這只是為了說明我想要得到什么。

未經測試:

lapply(names(lst),function(x){
download.file(url = lst[[x]],
destfile = paste0(lok,paste0(x,".csv")),
quiet = FALSE)
}

給定lok這應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM