如何在R中粘贴字符串
我想将4个字符串粘贴在一起,代码如下:如何在R中粘贴字符串,r,R,我想将4个字符串粘贴在一起,代码如下: urlstring<-"lee/" code<-read.csv("D:\\list.csv",sep="\n",head=FALSE) for(y in code){count<-1 while(count<3){ mydate<-Sys.Date()-count filename<-paste(urlstring,mydate,"&sy
urlstring<-"lee/"
code<-read.csv("D:\\list.csv",sep="\n",head=FALSE)
for(y in code){count<-1
while(count<3){
mydate<-Sys.Date()-count
filename<-paste(urlstring,mydate,"&symbol=",y,sep="")
print(filename)
count<-count+1
}
}
但我认为,结果应该是这样的,首先应该改变代码的值:
lee/date=2013-11-14&symbol=1
lee/date=2013-11-13&symbol=1
lee/date=2013-11-14&symbol=2
lee/date=2013-11-13&symbol=2
就像@mnel说的。对于
code=1:2
,您的代码将生成正确的结果。请注意,不需要嵌套的for while循环,矢量化解决方案使用的代码更少,而且通常更快:
code = rep(1:2, each = 2)
mydate = Sys.Date() - code
sprintf('lee/date=%s&symbol=%d', mydate, code)
[1] "lee/date=2013-11-14&symbol=1" "lee/date=2013-11-14&symbol=1"
[3] "lee/date=2013-11-13&symbol=2" "lee/date=2013-11-13&symbol=2"
此解决方案称为矢量化,因为当
sprintf
与矢量一起使用时,结果也是一个矢量,没有明确使用循环。如果code我们没有list.csv
文件,我会得到您的“期望”结果。您需要向我们提供code
对象或csv
文件。否则,我们无法重现您的问题并帮助您找到答案。
code = rep(1:2, each = 2)
mydate = Sys.Date() - code
sprintf('lee/date=%s&symbol=%d', mydate, code)
[1] "lee/date=2013-11-14&symbol=1" "lee/date=2013-11-14&symbol=1"
[3] "lee/date=2013-11-13&symbol=2" "lee/date=2013-11-13&symbol=2"