我想在R中创建一个循环,它可以帮助我根据不同的过滤器分析变量。我创建了一个这样的过滤器列表:
SELECT MAX(id), value
GROUP BY value
HAVING COUNT(*) = 1
问题在于,当从第一个过滤器转到第二个过滤器时,变量的原始值(在这种情况下为'age')将不会返回到原始值,并且最终结果会受到限制到上一个过滤器。
还有其他方法吗?
答案 0 :(得分:0)
以下是我认为你想要完成的原型:
myOutput <- list()
for(i in seq_along(filters)) {
# get filtered vector
myVec <- df[filters[[i]], "myVecName"]
# perform some analysis on myVec
myOutput[[i]] <- summary(myVec)
}
然后将分析结果存储在名为myOutput的列表中。
您可以使用lapply
完成相同的操作:
myOutput <- lapply(filters, function(i) summary(df[i, "myVecName"]))