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