1

我正在做一些计算,但是很难在 r 中编写一个可以完成我需要的程序。

x1<-c('a','b','c','d','a')
x2<-c('b','e','g')
x3<-c('c','a','h','j')
x4<-c('d','l','m','o','p','x','y','z')
x5<-c('f','q','a')

我正在寻找一种计算方法

y1<-length(intersect(x1,x2))
y2<-length(intersect(x3, union(x1,x2)))
y3<-length(intersect(x4, union(x3,union(x1,x2))))
y4<-length(intersect(x5, union(x4, union(x3,union(x1,x2)))))
4

1 回答 1

2

使用来自@Frank 的修改后的代码

 nx <- 5L
 xx <- mget(paste0('x', 1:nx))
 cux <- Reduce(union, xx, accumulate=TRUE)
 lengths(Map(intersect, xx[-1], cux[-nx] ))
于 2015-06-20T15:57:26.687 回答