2013-03-12 54 views
1

我想產生一個URLS的矢量對應於一年中的每一天,但似乎無法弄清楚兩件事情:i)我想製作一個包含所有日期的url的矢量,但不斷得到一個矩陣,每個月產生一個向量(向量長度爲​​372而不是31列的12列);和ii)我想單個數字連接0,所以,而不是1,2,3我得到01,02,03。代碼如下,非常感謝所有迴應。用於生成URL的循環和向量;在循環中的數字

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 

回答

0

以下是一種方法:使用sprintfpaste一起使用。這裏的關鍵是確保你的月矢量(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" 
+0

非常感謝您的幫助 - 這真是太棒了,而且效率更高。 – 2013-03-12 20:22:14

0

你甚至不需要循環。 paste被矢量
此外,paste0節省您的使用sep=""

i <- 1:31 

urlBase <- "http://yourwebiste.com/?dfdfsdfdfd." 
urlSuffix <- "apikey=d323j43k43" 

paste0(urlBase, i, urlSuffix) 

儘可能與0的串聯的步驟,這裏要說的是這是否在github上的功能,fw0(): LINK :https://github.com/rsaporta/pubR/blob/gitbranch/fw0.R