Я хотел бы получить подмножество строк фрейма данных, где один из его столбцов равен значениям в векторе, где либо вектор, либо столбец фрейма данных могут иметь NA. Я хотел бы включить совпадение на NA, но только если и столбец, и вектор имеют NA. (К вашему сведению, это для функции labeller , которая получает вектор в качестве параметра.)
Некоторые данные:
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)
Я мог бы использовать ответы из здесь или здесь , но как-то ускользает от меня.
EDIT : Я думаю, что функция labeller, вероятно, хочет выводить в том же порядке, что и ввод. Если это так, мне нужно совпадение в порядке v2
.
EDIT 2 : Я также не знаю, будет ли когда-либо функция labeller когда-либо передавать значения переменных более одного раза. Наверное, нет?