У меня есть именованный список объектов data.frame (training_data
). Каждый объект data.frame будет проверен на основе столбца «x», и если тест пройден, предполагается, что будет возвращено имя этого объекта data.frame.
В приведенном ниже случае должны быть возвращены "a" и "b":
df <- data.frame(x=1:10, y=1:10)
df1 <- data.frame(x=11:20, y=11:20)
training_data <- list(df, df, df1, df1)
names(training_data) <- c("a", "b", "c", "d")
pos <- lapply(training_data, function(data) {
if(data$x==1)
["return the name of the data.frame object in hand"]
})
Мой вопрос заключается в том, как именно можно определить имя объекта, который в настоящее время обрабатывается в любой итерации lapply, и как вернуть это имя, чтобы оно попало в список «pos».
С уважением
dput
несколько примеров данных. если вы не понимаете, прочитайте это. ... я никогда не виделif
внутри функцииlapply
, вы уверены, что вам не нужнаifelse
(которая векторизована)? - person Anthony Damico   schedule 01.02.2013