【发布时间】:2011-12-26 04:48:47
【问题描述】:
使用以下两个 R 向量,我想使用 boolMe 中的布尔值提取 valMe 的子集。此外,我希望有两种可能的输出,一种是 boolMe 中的 FALSE 值从 valMe 中省略,另一种是 FALSE 值被替换为 NA。进一步说明我想在代码中做什么:
输入
boolMe<-c(FALSE, TRUE, TRUE, TRUE, FALSE, TRUE)
valMe<-1:6
预期输出
NA 2 3 4 NA 6
或
2 3 4 6
【问题讨论】:
-
在 python 中,我会这样做:
>>> a=[False, True, False, False, False, False] >>> b=[10, 11, 12, 13, 14, 15] >>> [bb for (aa,bb) in zip(a,b) if aa] [11] -
在
python3,import itertools; list(itertools.compress(b ,a))
标签: r subset iterable-unpacking