다음 기능을 작성했는데 작동합니다. 그러나 df1
에 1700 개의 행이 있고 df2
에 70000 개의 행이 있으면 매우 느립니다. 어쨌든 효율성을 향상시킬 수 있습니까?데이터 프레임의 각 행이 다른 데이터 프레임에 포함되어 있는지 확인하십시오.
rowcheck <- function(df1, df2){
apply(df1, 1, function(x) any(apply(df2, 1, function(y) all(y==x))))
}
난에 적용하려면이 기능을 쓴 예는 다음과 같습니다
df1=data.frame(a=c(1:3),b=c("a","b","c"))
df2=data.frame(a=c(1:6),b=rep(c("a","b","c"),2))
DF1의 각 행에 대해, 내가 원하는을 : 나는 DF1의 각 행은 DF2의 행으로 포함되어 있는지 여부를 확인하려면 df2에 행으로 포함되어 있는지 확인하십시오. 이 함수를 길이 nrow (df1)의 논리 벡터로 되 돌리고 싶습니다.
도움 주셔서 감사합니다.
아마도'모두 (% % in % x) 시도 할 수 있을까요? 문제를 보여주는 간단한 예제를 제공하는 것이 좋습니다. http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –
** dplyr ** 패키지에는 사용자가 조사 할 수있는 data.frame의 'setdiff'메소드가 있습니다. – joran
그렇지 않으면 나는 u <- do.call (붙여 넣기, df1) 및 v <- do.call (붙여 넣기, df2)로 줄마다 값 줄을 붙여 넣을 것이고 % v에서 u %를 수행하지만 계산을 확인하지는 않습니다 시간 – droopy