【发布时间】:2013-02-01 00:45:59
【问题描述】:
我有一个 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一些示例数据。如果你不明白,read this。 ..我从来没有在lapply函数中看到if,你确定你不想要ifelse(它是矢量化的)吗?