根据 "AT LEAST ONE" 共现列表过滤数据框
Filter a data frame according to a list for "AT LEAST ONE" cooccurrence
我从一个数据框开始,然后列出类似的列表。
df <- data.frame(name = c("Benjamin", "Benjamin", "Benjamin", "Benjamin", "Benjamin", "Gary", "Gary", "Gary", "Gary", "Gary", "Maria", "Maria", "Maria", "Maria", "Maria", "Maria"),
sport = c("Lacrosse", "Billiards", "Football (US)", "Basketball", "Baseball", "Football (International)", "Baseball", "Golf", "Volleyball", "Archery", "Chess", "Tennis", "Gymnastics", "Parkour", "Dodgeball", "Paintball"))
test <- c("Billiards", "Tennis", "Paintball")
我想弄清楚如何通过 test
列表中的值过滤 df
数据框,这样它只会 return Benjamin 和 Maria,因为只有这两个人的观察结果包括 test
列表中的一项运动。
您可以使用子集命令来完成:
df_sub <- subset(df, sport %in% test)
如果您只想要这两个名字,您可以进一步使用:
unique(df_sub$name)
我从一个数据框开始,然后列出类似的列表。
df <- data.frame(name = c("Benjamin", "Benjamin", "Benjamin", "Benjamin", "Benjamin", "Gary", "Gary", "Gary", "Gary", "Gary", "Maria", "Maria", "Maria", "Maria", "Maria", "Maria"),
sport = c("Lacrosse", "Billiards", "Football (US)", "Basketball", "Baseball", "Football (International)", "Baseball", "Golf", "Volleyball", "Archery", "Chess", "Tennis", "Gymnastics", "Parkour", "Dodgeball", "Paintball"))
test <- c("Billiards", "Tennis", "Paintball")
我想弄清楚如何通过 test
列表中的值过滤 df
数据框,这样它只会 return Benjamin 和 Maria,因为只有这两个人的观察结果包括 test
列表中的一项运动。
您可以使用子集命令来完成:
df_sub <- subset(df, sport %in% test)
如果您只想要这两个名字,您可以进一步使用:
unique(df_sub$name)