大佬们好,我将for循环遍历的列与已存在的数据框合并,得到如下错误,不知为啥as.data.frame将'i'当作列名处理(报错原因在这一列dat=as.data.frame(cbind(rvar[,i],evar))),我不知道怎么解决这个问题,望得到大佬们指点和帮助,谢谢。代码如下:
dd=as.data.frame(cbind(a=(1:10),b=(2:11),c=(3:12),d=(4:13),e=(5:14)))####生成例子数据
###编写函数
gb=function(obj1=obj1,obj2=obj2,obj3=obj3){
rvar=obj1[,obj2:obj3]
evar=obj1[,-(obj2:obj3)]
for (i in obj2:obj3) {
dat=as.data.frame(cbind(rvar[,i],evar))
#......
}
#......
return(dat)
}
####以下测试函数
gb(obj1=dd,obj2=2,obj3=5)#####obj2=1时,就不会报错,obj2不等于1就报错,能力有限,没搞懂为何会这样
报错信息如下:
Error in [.data.frame(rvar, , i) : undefined columns selected