用于查看数据框中是否存在行的现有函数?

Zac*_*ach 12 r

是否存在用于确定数据帧中是否存在行的现有函数?我想可以做一个申请/相同,但似乎我错过了一些东西.

例如:

给出这样一个数据框:

  a   b
1 1 cat
2 2 dog
Run Code Online (Sandbox Code Playgroud)

是否存在允许我测试(1, cat)数据框中是否存在行的现有函数?

谢谢,扎克

had*_*ley 19

尝试match_df使用plyr(使用Marek的样本数据):

library(plyr)
X <- data.frame(a=1:2, b=c("cat","dog"))
row_to_find <- data.frame(a=1, b="cat")

match_df(X, row_to_find)
Run Code Online (Sandbox Code Playgroud)


Woj*_*ala 8

来自@Marek的数据回答.

nrow(merge(row_to_find,X))>0 # TRUE if exists
Run Code Online (Sandbox Code Playgroud)

  • 这可能很危险.确保row_to_find是`data.frame`.否则,它不会寻找匹配整行.如上所述,它由@Marek处理样本数据.但是一旦你输入c(1,"cat")作为row_to_find,它将始终返回true. (2认同)

Mar*_*rek 7

举个例子:

X <- data.frame(a=1:2, b=c("cat","dog"))
row_to_find <- data.frame(a=1, b="cat") # it has to be data.frame (not a vector) to hold different types
Run Code Online (Sandbox Code Playgroud)

然后

duplicated(rbind(X, row_to_find))[nrow(X)+1]
Run Code Online (Sandbox Code Playgroud)

给你答案.

  • 我希望重复比申请快得多 (3认同)