[英]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.