Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于生成URL的循环和向量;循环中的数字_R_Loops_Matrix - Fatal编程技术网

用于生成URL的循环和向量;循环中的数字

用于生成URL的循环和向量;循环中的数字,r,loops,matrix,R,Loops,Matrix,我想生成一个对应于一年中每一天的URL向量,但似乎无法解决两件事:I)我想生成一个包含所有日期的URL向量,但不断得到一个矩阵,每个月生成一个向量(向量长度372,而不是12列31);ii)我希望将单个数字与0连接起来,这样我得到的不是1,2,3,而是01,02,03。下面是代码,非常感谢所有回复 n <- 12 q <- 31 url_vec <- matrix(NA, ncol = 1, nrow = q) full_url_vec <- as.data.frame(

我想生成一个对应于一年中每一天的URL向量,但似乎无法解决两件事:I)我想生成一个包含所有日期的URL向量,但不断得到一个矩阵,每个月生成一个向量(向量长度372,而不是12列31);ii)我希望将单个数字与0连接起来,这样我得到的不是1,2,3,而是01,02,03。下面是代码,非常感谢所有回复

n <- 12
q <- 31
url_vec <- matrix(NA, ncol = 1, nrow = q)
full_url_vec <- as.data.frame(rep(NA, q)) 

for(j in 1:n){

            url_year <- paste("http://www.parliament.go.ug/hansard/hans_view_date.jsp?dateYYYY=2009&dateMM=", j, "&dateDD=", sep = "")                      
        for(i in 1:q){
        url <-  paste(url_year, "&dateDD=", i, sep = "")
        url_vec[i,] <- url          
    }

full_url_vec[,j] <- url_vec

}

dim(full_url_vec)
full_url_vec

n您甚至不需要循环<代码>粘贴
已矢量化
另外,
paste0
保存了使用
sep=“”


i这里有一种方法:将
sprintf
paste
结合使用。这里的关键是确保您的月向量(
j
)正确循环,因此,我使用了
rep

j <- rep(sprintf("%02d", 1:12), each = 31)
i <- sprintf("%02d", 1:31)
url_year <- paste("http://some/siteMM=", j, "&dateDD=", i, sep = "")
length(url_year)
# [1] 372
head(url_year)
# [1] "http://some/siteMM=01&dateDD=01" "http://some/siteMM=01&dateDD=02"
# [3] "http://some/siteMM=01&dateDD=03" "http://some/siteMM=01&dateDD=04"
# [5] "http://some/siteMM=01&dateDD=05" "http://some/siteMM=01&dateDD=06"
tail(url_year)
# [1] "http://some/siteMM=12&dateDD=26" "http://some/siteMM=12&dateDD=27"
# [3] "http://some/siteMM=12&dateDD=28" "http://some/siteMM=12&dateDD=29"
# [5] "http://some/siteMM=12&dateDD=30" "http://some/siteMM=12&dateDD=31"

j非常感谢您的帮助-这太棒了,而且效率更高。
j <- rep(sprintf("%02d", 1:12), each = 31)
i <- sprintf("%02d", 1:31)
url_year <- paste("http://some/siteMM=", j, "&dateDD=", i, sep = "")
length(url_year)
# [1] 372
head(url_year)
# [1] "http://some/siteMM=01&dateDD=01" "http://some/siteMM=01&dateDD=02"
# [3] "http://some/siteMM=01&dateDD=03" "http://some/siteMM=01&dateDD=04"
# [5] "http://some/siteMM=01&dateDD=05" "http://some/siteMM=01&dateDD=06"
tail(url_year)
# [1] "http://some/siteMM=12&dateDD=26" "http://some/siteMM=12&dateDD=27"
# [3] "http://some/siteMM=12&dateDD=28" "http://some/siteMM=12&dateDD=29"
# [5] "http://some/siteMM=12&dateDD=30" "http://some/siteMM=12&dateDD=31"