ftpの設定が標準化されていると仮定すると(NOAAと縦方向を仮定すると、これは安全な仮定です)、urlのリストを作成してdownload.file()を呼び出すことができます。礼拝や地図。ここでは、マップを使用して国勢調査LEHDデータを呼び出すために使用したコードの例を示します。残念ながら、データを使用した直接的な例ではありません。リンクが機能しないため、少し修正する必要があります。しかし、基本的なロジックは、URLのどの部分が変更されているかを見つけ出し、それらの部分変数を作成し、必要な値を提供してから呼び出すことです。それは比較的簡単です。この場合、変化する主な変数は州の略語と年です。私は2年しか必要としなかったので、それらを直接入力することができますが、私はティグリスパッケージを使用してユニークな状態の略語を取得します。
if(!require(pacman)){install.packages("pacman"); library(pacman)}
p_load(tigris,purrr, dplyr)
#calls tigris "state" df to get unique state FIPS codes
us_states <- tolower(unique(fips_codes$state)[1:51])
year <- c(2004, 2014)
get_lehd <- function(states, year) {
#grabbing all private jobs WAC
lehd_url <- paste0("https://lehd.ces.census.gov/data/lodes/LODES7/",
states,"/wac/", states,"_wac_S000_JT02_",year,".csv.gz")
filenames <- paste0(states,"_", year,".csv.gz")
download.file(lehd_url, dest = filenames)
}
#use possibly so if it kicks an error it keeps going
possible_get_lehd <- possibly(get_lehd, otherwise = NA)
#download the files to current wd
map(us_states, possible_get_lehd,year = 2004)
map(us_states, possible_get_lehd,year = 2014)
NOAAのFTPサイトへのリンクはありますか?リンクのリストを作成し、download.file()関数を使用することもできますし、コマンドラインアプローチを使用する場合はsystem()コマンドを使用することもできます。あなたが特別なパスワード特権を必要としないと仮定すると、それは比較的簡単です。 – elmuertefurioso
アドバイスをいただきありがとうございます。遅い回答をおかけして申し訳ありません。私はこれがFTPへのリンクだと思う:ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily/。 download.file()関数を見ていきます。 – Powege