为什么在 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 ( " ") 作为分隔符。
长话短说:不要使用 <-
进行函数中的参数分配。
当我输入以下粘贴命令时:
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 ( " ") 作为分隔符。
长话短说:不要使用 <-
进行函数中的参数分配。