我有一个大约15000行的长数据集,看起来像这个
df <- data.frame("id" = c(3,3,3,55,55,55,63,63,63), "name" = c("house","home","apartment","boat","ship","sailboat","car","automobile","truck"))
我正试图开发一个函数,该函数在";name";该数据帧的矢量,并返回具有对应的"0"的所有字符串;id";。
例如;房子;返回";房子,家,";公寓;因为他们都是匹配的ID作为房子,3。
input = "house"
library(dplyr)
df %>%
group_by(id) %>%
filter(input %in% name) %>%
ungroup()
# # A tibble: 3 × 2
# id name
# <dbl> <chr>
# 1 3 house
# 2 3 home
# 3 3 apartment
作为一种功能,
foo = function(data, input) {
data %>%
group_by(id) %>%
filter(input %in% name) %>%
ungroup()
}
foo(df, "home")
# A tibble: 3 × 2
# id name
# <dbl> <chr>
# 1 3 house
# 2 3 home
# 3 3 apartment