R paste() 命令和向量

R paste() command and vectors

下午。在我最近(约 5 小时前)提出的灾难性问题之后,不幸的是,我还有另一个问题。

我有一行代码

summary.myData<<-summarySE(myData, measurevar=paste(tx.choice1), groupvars=paste(tx.choice2[order1[[ind1]][1]],tx.choice2[order1[[ind1]][2]]),conf.interval=as.numeric(tclvalue(intervalplot_confidenceinterval)),na.rm=TRUE,.drop=FALSE);

具体来说:groupvars=paste(tx.choice2[order1[[ind1]][1]],tx.choice2[order1[[ind1]][2]])

看起来像这样:

paste(tx.choice2[order1[[ind1]][1]],tx.choice2[order1[[ind1]][2]]) [1] "Group Subgroup"

我希望它看起来像这样groupvars=c("Group","Subgroup")

我试过 "groupvars=paste(tx.choice2[order1[[ind1]]",",",[1]],"tx.choice2[order1[[ind1]][2]]") 但我似乎对 R、paste() 和引号的工作原理有严重的误解。

有人能给我指出正确的方向吗?

你把 pastec 混淆了,后者旨在将多个字符串连接成一个,而 c 将多个元素连接成一个向量:

例如

paste("a", "b")
# a character vector length 1 with contents "a b"

c("a", "b")
# a character vector length 2 with contents "a", "b"

出于您的目的,您根本不需要 paste,您需要 c。即

summary.myData<<-summarySE(myData, measurevar=tx.choice1, groupvars=c(tx.choice2[order1[[ind1]][1]],tx.choice2[order1[[ind1]][2]]),conf.interval=as.numeric(tclvalue(intervalplot_confidenceinterval)),na.rm=TRUE,.drop=FALSE)

请注意,您可能也不需要使用 <<- 运算符 - 常规 <- 赋值运算符可能就是您的意思,尽管在没有上下文的情况下很难确定。