0
给出R中的值列表,通过给定的谓词函数过滤列表中的值有什么好方法?在R列表中应用谓词
给出R中的值列表,通过给定的谓词函数过滤列表中的值有什么好方法?在R列表中应用谓词
不清楚你在R中是否有适当的列表对象,或者其他类型的对象,如data.frame或vector。假设你有一个真正的列表对象,我们可以结合lapply
和subset
来做你想做的事。如果您没有列表,则不需要lapply
。
set.seed(1)
#Fake data
dat <- list(a = data.frame(x = sample(1:10, 20, TRUE))
, b = data.frame(x = sample(1:10, 20, TRUE)))
#Apply the subset function over the list
lapply(dat, subset, x < 3)
$a
x
10 1
12 2
$b
x
4 2
7 1
14 2
18 2
#Example two
lapply(dat, subset, x %in% c(1,7,9))
$a
x
6 9
8 7
9 7
10 1
13 7
$b
x
3 7
7 1
9 9
15 9
16 7
请参阅'?Filter'帮助页面。 – 2011-05-01 13:54:57