我想使用 paste0 创建一个包含子集函数条件的长字符串。
我尝试了以下方法:
#rm(list=ls())
set.seed(1)
id<-1:20
ids<-sample(id, 3)
d <- subset(id, noquote(paste0("id==",ids,collapse="|")))
我明白了
Error in subset.default(id, noquote(paste0("id==", ids, collapse = "|"))) :
'subset' must be logical
我尝试了同样的方法,没有引用。有趣的是,当我跑步时
noquote(paste0("id==",ids,collapse="|"))
我明白了[1] id==4|id==7|id==1
。当我然后将其手动粘贴到子集公式中时
d2<-subset(id,id==4|id==7|id==1)
一切运行良好。但是为什么subset(id, noquote(paste0("id==",ids,collapse="|")))
虽然看起来一样却不起作用?非常感谢你的帮助!