0

我想使用 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="|")))虽然看起来一样却不起作用?非常感谢你的帮助!

4

0 回答 0