r中的递归程序

recursive program in r

我正在做一些计算,但是我很难用 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)))))

使用@Frank 修改后的代码

 nx <- 5L
 xx <- mget(paste0('x', 1:nx))
 cux <- Reduce(union, xx, accumulate=TRUE)
 lengths(Map(intersect, xx[-1], cux[-nx] ))