(R)函数使用merge() - 将by.x和by.y作为参数 - >错误消息[关闭]

问题描述 投票:0回答:1

我正在尝试创建一个最终会映射数据的函数。所以在函数中,我合并了函数user加载的outputfiledatafile。当by.xby.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"

我怎样才能解决这个问题?我真的需要它们作为参数,否则我加载的数据需要在要重命名的列的函数之前进行修改xy ...

r function parameters merge output
1个回答
1
投票

如果你发布的内容是正确的,你没有在合并调用中正确使用你的参数x和y - 你将它们用双引号括起来,在调用merge中处理,意思是你要在名为“x”的字段上合并“y”,表格中不存在。要将参数值传递给合并函数,请删除双引号:

function1 <-function(data, outputfile, datafile, x, y) .... 
OA.Blabla <- merge(outputfile, datafile, by.x = x, by.y = y) 
© www.soinside.com 2019 - 2024. All rights reserved.