使用以下两个R向量,我想使用valMe
中的布尔值提取boolMe
的子集。另外,我想有两个可能的输出,一个是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
答案 0 :(得分:11)
答案 1 :(得分:7)
同样,如果你想要NAs:
> valMe[!boolMe] <- NA
> valMe
[1] NA 2 3 4 NA 6
!
否定逻辑布尔值,因此您选择了想要丢失的值。然后,只需触摸R awesomeness,就可以为选定的值指定NA。