【发布时间】:2020-04-14 17:13:55
【问题描述】:
我想获取数据框行的子集,其中一个列等于向量中的值,其中向量或数据框列都可以有 NA。我想在 NA 上包含一个匹配项,但前提是列和向量都具有 NA。 (仅供参考,这是一个labeller function,它获取一个向量作为参数。)
一些数据:
df1 <- data.frame(x_var_value=c('a', 'b', NA), num=c(1,2,3))
v2 <- c('a', 'b')
一些尝试从df1 中选择行不起作用的示例,其中x_var_value == v2:
df1[df1$x_var_value == v2]$x_var_value
df1[(df1$x_var_value == v2) | (is.na(df$x_var_value) & is.na(v2))]$x_var_value
library(tidyverse)
df1 %>% filter(x_var_value == v2)
我应该能够使用来自here 或here 的答案,但不知何故它让我无法理解。
编辑:我认为标注函数可能希望输出与输入的顺序相同。如果是这样,我需要v2 order 中的匹配。
编辑 2:我也不知道 labeller 函数是否会多次获得传递的变量值。应该不会吧?
【问题讨论】: