合并2个数据帧的名称,并将其分配到R中的第三个

合并2个数据帧的名称,并将其分配到R中的第三个,r,string,R,String,我已经编写了一个函数来合并2个数据帧。但是我得到的连接文件应该以名称格式存储,比如“x_city” test我想你是说你有一个名为abc的data.frame,你想使用dplyr的join将它连接到另一个data.frame,m,并给它一个新名称,即第一个data.frame(abc)然后是“城市”。因此,在您的示例中,您将得到一个名为abc\u city的data.frame 因此,您在函数中创建的变量只存在于函数的作用域中-如果添加return语句,调用test(abc,m=csv)将打印出

我已经编写了一个函数来合并2个数据帧。但是我得到的连接文件应该以名称格式存储,比如“x_city”


test我想你是说你有一个名为
abc
data.frame
,你想使用
dplyr
的join将它连接到另一个
data.frame
m
,并给它一个新名称,即第一个
data.frame
abc
)然后是“城市”。因此,在您的示例中,您将得到一个名为
abc\u city
data.frame

因此,您在函数中创建的变量只存在于函数的作用域中-如果添加return语句,调用
test(abc,m=csv)
将打印出name
name
的值,但它不会将其存储在变量中。为了将其存储在名为
abc\u city
的变量中,您可以使用

abc_city <- test(abc, m = csv)

abc\u city我想你是说你有一个名为
abc
data.frame
,你想使用
dplyr
的join将它连接到另一个
data.frame
m
,并给它一个新名称,即第一个
data.frame
abc
)然后是“城市”。因此,在您的示例中,您将得到一个名为
abc\u city
data.frame

因此,您在函数中创建的变量只存在于函数的作用域中-如果添加return语句,调用
test(abc,m=csv)
将打印出name
name
的值,但它不会将其存储在变量中。为了将其存储在名为
abc\u city
的变量中,您可以使用

abc_city <- test(abc, m = csv)

abc\u城市,它仍然不工作。给出以下错误消息:在分配(粘贴(nm,“city”,sep=“”)、加入(x=x,y=latlong,:仅第一个元素用作变量名。请立即尝试。编辑datafame后,您无法再获取其名称,因此必须将其保存为在函数中执行的第一项操作。它仍不工作。给出以下错误消息:在assign(粘贴(nm,“city”,sep=“41;”),join(x=x,y=latlong,:只有第一个元素用作变量名。请立即尝试。编辑datafame后,您无法再获取其名称,因此必须将其保存为在函数中执行的第一项操作。
test<- function(x,m=csv){
            nm <-deparse(substitute(x))
            # a=as.data.frame(m, stringsAsFactors = FALSE)
            # b=a[,-c(1)]
            # x$long=as.numeric(x$long)
            # x$long=round(x$long,5)
            # x$lat=as.numeric(x$lat)
            # x$lat=round(x$lat,5)
            assign(paste(nm, "city", sep="_"), join(x=x ,y=b, by = c("long","lat")), envir = parent.frame())
            return(get(paste(x, "city", sep="_")))
        }