我正在尝试创建一个最终会映射数据的函数。所以在函数中,我合并了函数user加载的outputfile
和datafile
。当by.x
和by.y
是我加载的文件的列名时,它可以工作,如下所示:
OA.Blabla<- merge(outputfile, datafile, by.x="location", by.y="city")
但当我尝试将它们作为这样的参数:
function1<-function(data, outputfile, datafile, x, y)
....
OA.Blabla<- merge(outputfile, datafile, by.x="x", by.y="y")
....
它给出了一条错误消息:#"Error in fix.by(by.x, x) : 'by' must specify a uniquely valid column"
我怎样才能解决这个问题?我真的需要它们作为参数,否则我加载的数据需要在要重命名的列的函数之前进行修改x
和y
...
如果你发布的内容是正确的,你没有在合并调用中正确使用你的参数x和y - 你将它们用双引号括起来,在调用merge中处理,意思是你要在名为“x”的字段上合并“y”,表格中不存在。要将参数值传递给合并函数,请删除双引号:
function1 <-function(data, outputfile, datafile, x, y) ....
OA.Blabla <- merge(outputfile, datafile, by.x = x, by.y = y)