如果只是删除重复的行,在R中可以按照这样的思路做。
比如:有两行,第一行为A,B,C,D,E,第二行为C,D;
> fun=function(x,y)
+ { n1=length(x)
+ n2=length(y)
+ t=0;
+ if(n1>n2)
+ { for(i in 1:n2){ if(any(x==y)) s=1 else s=0; t=t+s }
+ if(t==n2) list(x) else list(x,y) #如果t=n2说明x包含y,输出x,否则,x和y都输出
+ }else
+ { for(i in 1:n1){ if(any(y==x)) s=1 else s=0; t=t+s }
+ if(t==n1) list(y) else list(x,y) #如果t=n1说明y包含x,输出y,否则,x和y都输出
+ }
+ }
> x=c('A','B','C','D','E')
> y=c('C','D')
> fun(x,y)
[[1]]
[1] "A" "B" "C" "D" "E"
比如:有两行,第一行为A,B,C,D,E,第二行为C,D,R;
> x=c('A','B','C','D','E')
> y=y=c('C','D','R')
> fun(x,y)
[[1]]
[1] "A" "B" "C" "D" "E"
[[2]]
[1] "C" "D" "R"
其实还可以用which语句来做


雷达卡
京公网安备 11010802022788号







