R中未定义的列选择错误

时间:2015-07-09 20:21:04

标签: r

我提前道歉,因为我对编码非常陌生,并且几天前我的老板为了一个项目而进入了它。

我的数据集名为s1。 S1有123个变量,其中4个有某种形式的" QISSUE"以他们的名义。我想把这四个变量全部复制一遍,添加" Rec"到每一个结尾(这样我可以自由地使用新变量,同时仍然保持实际的变量)。

运行这行代码不断给我一个错误:

b<- llply(s1[,
            str_c(names(s1)
                     [str_detect(names(s1), fixed("QISSUE"))], 
                              "Rec")],table)

错误是这样的:

Error in `[.data.frame`(s1, , str_c(names(s1)[str_detect(names(s1), fixed("QISSUE")) &  : 
  undefined columns selected

谢谢!

1 个答案:

答案 0 :(得分:0)

使用此选项获取子集。当然,使用更简单的代码还有其他方法可以做到这一点

b<- llply(s1[,
             names(s1)[str_detect(names(s1), fixed("QISSUE"))]
             ],c)

nwnam=str_c(names(s1)[str_detect(names(s1), fixed("QISSUE"))],"Rec")
ndf=data.frame(do.call(cbind,b));colnames(ndf)=nwnam
ndf 
# of course you can do 
cbind(s1,ndf)