为了找出数据框是否是数据框df.a
的子集,df.b
我执行了以下操作:
df.a <- data.frame( x=1:5, y=6:10 )
df.b <- data.frame( x=1:7, y=6:12 )
inds.x <- as.integer( lapply( df.a$x, function(x) which(df.b$x == x) ))
inds.y <- as.integer( lapply( df.a$y, function(y) which(df.b$y == y) ))
identical( inds.x, inds.y )
最后一行给出TRUE
,因此df.a
包含在df.b
.
现在我想知道是否有更优雅——可能更有效——的方式来回答这个问题?
此任务也很容易扩展以查找两个给定数据帧之间的交集,可能仅基于列的子集。
帮助将不胜感激。