代替寫入一個矢量標操作的線,如:參考矢量匿名中的R
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
最接近你的是'Filter(function(...)!is.na(...),match(x,x.and.y))' –
你最後一行代碼使用這個? idx.x < - which(match(x,x.and.y,nomatch = 0)!= 0) – tcash21
如果這個例子是目標,而不只是一個方法來說明你正在接受的概念,我推薦'na.omit(match(x,x.and.y))' –