使用 R 中的另一个布尔向量对向量进行子集化
使用以下两个 R 向量,我想使用 boolMe
中的布尔值提取 valMe
的子集。此外,我希望有两种可能的输出,一种是从 valMe
中省略 boolMe
中的 FALSE 值,另一种是用 NA 替换 FALSE 值。进一步说明我想在代码中执行的操作:
输入
boolMe<-c(FALSE, TRUE, TRUE, TRUE, FALSE, TRUE)
valMe<-1:6
预期输出
NA 2 3 4 NA 6
或
2 3 4 6
Using the following two R vectors, I want to extract a subset of valMe
using the boolean values in boolMe
. In addition, I would like to have two possible outputs, one where the FALSE values in boolMe
are ommited from valMe
, and one where the FALSE values are replaced by NA. Further illustration of what I want to do in code:
Input
boolMe<-c(FALSE, TRUE, TRUE, TRUE, FALSE, TRUE)
valMe<-1:6
Intended output
NA 2 3 4 NA 6
or
2 3 4 6
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
[
运算符直接索引valMe
:请参阅 介绍手册的 2.7 了解更多详细信息。
You can directly index
valMe
by using the[
operator:See section 2.7 of the intro manual for more detail.
同样,如果您想要 NA:
!
会否定逻辑布尔值,以便您选择想要丢失的值。然后,您可以将 NA 分配给选定的值,这具有 R 的强大功能。Similarly, if you want the NAs:
The
!
negates the logical boolean so you select the values you want missing. Then, in a touch of R awesomeness, you assign NA to the selected values.