Я хотел бы filter
, чтобы получить строки из любой группы моего tibble, где одна из переменных соответствует значениям, взятым одной из групп.
structure(list(type = c("A", "A", "A", "A", "B", "B", "B", "B",
"B"), categ = c("apple", "pear", "apple", "banana", "pear", "kiwi",
"apple", "banana", "mango")), .Names = c("type", "categ"), row.names = c(NA,
-9L), class = c("tbl_df", "tbl", "data.frame"))
# type categ
# <chr> <chr>
# A apple
# A pear
# A apple
# A banana
# B pear
# B kiwi
# B apple
# B banana
# B mango
Я хочу получить строки из любой группы, где categ
является одним из значений, принятых categ
в группе A для type
В основном я хочу сделать это:
df %>%
filter(categ %in% pull(filter(df, type == 'A'), categ))
# type categ
# <chr> <chr>
# A apple
# A pear
# A apple
# A banana
# B pear
# B apple
# B banana
это ужасный способ сделать это, и я уверен, что есть гораздо лучший способ, но я не могу его найти.
Спасибо за помощь и извините за плохой английский.