为什么在 R 中使用 'paste' 函数时字符串之间有一个 space?我用了分隔符

Why is there a space between strings when using the 'paste' function in R? I have used a separator

当我输入以下粘贴命令时:

rdsfile<-paste("Eobs","tmean","_81_10.rds",sep="")

我得到:"Eobstmean_81_10.rds"

当我把等号改成R常用的箭头时:

rdsfile<-paste("Eobs","tmean","_81_10.rds",sep<-"")

我得到:"Eobs tmean _81_10.rds "(注意“Eobs”和“tmean”之间的 space,以及“tmean”和“_81_10.rds"

发生这种情况的原因是什么?

函数中的参数应像第一个示例中那样分配等号,以便获得所需的输出。

您在第二个示例中所做的是创建一个名为 sep 且值为“”的全局对象。您可以通过查看您的环境轻松地检查这一点。或者只需在控制台中输入 sep

但是这个全局对象 sep 没有在 paste 函数中使用,所以 paste 函数回退到它的默认值,即使用 space ( " ") 作为分隔符。

长话短说:不要使用 <- 进行函数中的参数分配。