我使用for语句创建此代码。 (此代码的主要目的是列出通过httr和rvest获得的不同网页)
r = "asdgkjkhdf"
t = "osrt"
all = c()
for(i in 1:400)
{
y = paste(r, i, sep = '')
d = paste(y, t, sep = '')
all = c(all, d)
}
all
我得到了类似的东西(粘贴的数字实际上在每个结果中累积)
[1]asdgkjkhdf1osrt
[2]asdgkjkhdf12osrt
[3]asdgkjkhdf123osrt
[4]asdgkjkhdf1234osrt
...
但是我想要这样的结果,无论我输入多少数字' for()' function。
[1]asdgkjkhdf1osrt
[2]asdgkjkhdf2osrt
...
[400]asdgkjkhdf400osrt
如上所述
为了获得我想要的结果,我应该改变什么?
我应该使用paste(substr(), substr(), sep='')
吗?
答案 0 :(得分:1)
如果您真的想使用for语句,可以使用以下
r = "asdgkjkhdf"
t = "osrt"
all = c()
for (idx in 1:400)
all = c(all, paste0(r, idx, t))
但是,在R中,您应该更喜欢没有for语句的代码,因为一般来说,这样会降低可读性并损害性能。没有for-statement的解决方案(由Roland在评论中给出)等于
all <- paste0(r, 1:400, t)
请注意,paste0("string")
只是paste("string", sep='')
的简短表示法。