R paste()命令和向量

时间:2015-07-29 18:21:32

标签: r vector paste summary

下午。在我最近(~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]])

看起来像这样:

  

糊(tx.choice2 [order1 [[IND1]] [1]],tx.choice2 [order1 [[IND1] [2]])       [1]“小组小组”

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

我试过"groupvars=paste(tx.choice2[order1[[ind1]]",",",[1]],"tx.choice2[order1[[ind1]][2]]")但似乎我对R,paste()和引号的工作方式有很大的误解。

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

1 个答案:

答案 0 :(得分:3)

您混淆了paste,它旨在将多个字符串连接成一个c,将多个元素连接到一个向量中:

e.g。

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)

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