1

1 年の各日に対応する URL のベクトルを生成したいのですが、次の 2 つのことを理解できないようです:月ごとに 1 つのベクトルを生成します (31 の 12 列ではなく、長さ 372 のベクトル)。ii) 1 桁を 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
4

2 に答える 2

0

1 つのアプローチを次に示します。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"
于 2013-03-12T18:51:55.943 に答える
0

ループも必要ありません。 また、使用するステップを節約しpasteます
paste0sep=""

i <- 1:31

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

paste0(urlBase, i, urlSuffix)

で連結する限り、これを行うgithub0の関数は次のfw0()とおりです。リンク:https ://github.com/rsaporta/pubR/blob/gitbranch/fw0.R

于 2013-03-12T18:18:25.570 に答える