Я думаю, что мне не хватает чего-то простого, но у меня возникают проблемы с доступом к элементам списка, в lapply
.R lapply, элементы доступа к списку
Проблема: У меня есть несколько файлов на FTP, которые я хочу загрузить и прочитать. Поэтому мне нужно указать местоположение, загрузить их и прочитать их. Все, что я думал, может быть лучше всего обработано несколькими списками, но я не могу заставить его работать в моей функции.
Я хотел бы быть в состоянии начать с вызова lapply(lst,...)
, потому что мне нужно как имя переменной (a)
и URL в одной и той же функции, чтобы загрузить & имя их легко.
код-пример:
a <- "ftp://user:[email protected]_A1"
b <- "ftp://user:[email protected]_B1"
c <- "ftp://user:[email protected]_C1"
d <- "ftp://user:[email protected]_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)
)
EDIT:
Я знаю, что x[[]]
выдает ошибку, просто чтобы показать, что я хотел бы получить.
Сначала удалите символ '' [[]] '', который 'lapply()' не нужен. Так ли это работает? –
Если я их удалю, он печатает '$ a', а затем' url', мне нужен элемент списка '[[1]]' конкретно. Итак, просто «url», иначе я не смогу его использовать. – NoThanks
Возможно, вы можете использовать 'rapply' или' sapply', то есть 'rapply (lst, print)', но добавляет некоторую дополнительную строку в конце –