r-在一个长数据帧中搜索一个字符串,并返回具有匹配标识符的所有其他字符串



我有一个大约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

相关内容

最新更新