【发布时间】:2016-07-21 19:09:46
【问题描述】:
我有三个 data.frame 对象需要同时按给定的阈值过滤掉。我想将它们过滤掉所有 data.frame 对象的给定阈值。谁能给我一些可能的想法来完成这项任务?
模拟数据:
df1 <- data.frame(
start=seq(1, by=9, len=18), end=seq(6, by=9, len=18),
ID=letters[seq(1:18)], score=sample(1:25, 18, replace = FALSE))
df2 <- data.frame(
start=seq(2, by=11, len=20), end=seq(8, by=11, len=20),
ID=letters[seq(1:20)], score=sample(1:25, 20, replace = FALSE))
df3 <- data.frame(
start=seq(4, by=11, len=25), end=seq(9, by=11, len=25),
ID=letters[seq(1:25)], score=sample(1:25, 25, replace = FALSE))
我的尝试解决方法如下:
过滤掉给定的阈值:
df.li <- list(df1, df2, df3)
keep <- obj$score <= 12
test <- lapply(df.li, function(ele_) {
keep <- ele_$score <= 12
discard <- ele_[!keep]
res <- data.frame(kee=keep,
dis=discard)
return(res)
})
我想要的输出:
如果这种方法可以发生,我将把每个 data.frame 对象的一组过滤输出作为列表。
我认为可能有更好的方法来做到这一点。关于我提出的问题,完成这项任务的更好方法是什么?谁能指出解决此问题的可能方法?提前致谢。
【问题讨论】: