而不是写一个向量下标操作一行,例如:
x.and.y <- intersect(x, y)
idx.x <- match(x, x.and.y)
idx.x <- idx.x[!is.na(idx.x)]
我可以将它们串联成一行:
x.and.y <- intersect(x, y)
idx.x <- subset(tmp <- match(x, x.and.y), !is.na(tmp))
为了做到这一点,我必须给中间向量一个名称,以便在下标操作中使用。为了使代码更加简洁,有没有办法匿名引用向量?像这样:
x.and.y <- intersect(x, y)
idx.x <- match(x, x.and.y)[!is.na] ## illegal R