DataMarket - сайт содержащий огромное количество данных в разных областях - промышленность, добыча полезных ископаемых, демография, погода, уровень преступности и многое другое. И вы можете загружать эти данные (хотя и не все, так как часть из них доступна только на коммерческой основе) непосредственно в R с помощью отличного пакета rdatamarket.
Загрузка данных
Сначала установим пакет и загрузим его в R:
install.packages('rdatamarket')library(rdatamarket)
Затем нам нужен URL тех данных, которые мы хотим скачать. Предположим, нас интересует добыча нефти в Анголе, Брунее и Египте. Скопируйте URL из браузера и вставьте его в вызов dmseries или dmlist:
l <- data="" datamarket.com="" dmlist="" ds="17tm|kqc=17.v.i" font="" http:="" set="" tm="">
->
Короткие URL (data.is, bit.ly, is.gd, t.co) также работают:
l <- data.is="" dmlist="" font="" http:="" nyfep9="">
->
С помощью функции dmlist вы получаете объект data.frame. Если вам нужен временной ряд zoo, используйте dmseries.
plot(dmseries("http://data.is/nyFeP9"))
При необходимости можно указать прокси-сервер:
dmCurlOptions(proxy="http://outproxy.mycompany.com")
Чтение метаданных
Получите объект с требуемыми данными (найдите ID в URL или просто скопируйте весь URL):
oil <- dminfo="" font="" tm="">->oil <- data="" datamarket.com="" dminfo="" ds="17tm|kqc=17.v.i" font="" http:="" set="" tm="">->print(oil)
Вывод:
Title: "Oil: Production tonnes"Provider: "BP" Dimensions:"Algeria""Country" (60 values): "Angola"[...]"Argentina" "Australia""Azerbaijan"
Вы можете просмотреть все значения
Country
:oil$dimensions[[1]]$values
Вывод:
a "Algeria"17 "Angola"d "Argentina"z "Australia"1b "Brazil"1l "Azerbaijan" v "Brunei"1o "Chad"1h "Cameroon" 13 "Canada"[...]
А теперь набор данных с двумя измерениями (помимо времени):
p <- data="" datamarket.com="" dminfo="" font="" http:="" male-population-thousands="" r9="" set="">->print(p) Title: "Male population (thousands)"Dimensions:Provider: "United Nations" (citing "United Nations Population Division") "Country or Area" (229 values):"Constant-fertility scenario""Afghanistan" "Africa" "Albania" "Algeria" "Angola" [...] "Variant" (5 values):"Medium variant""Estimate variant" "High variant""Low variant"
Выборка данных
Выберем из последнего набора данных прогноз ООН по росту населения в Сомали и Швеции в предположении, что рождаемость будет постоянной:
dmseries(p, 'Country or Area'=c("Somalia", "Sweden"),Variant="Constant-fertility scenario")2010-07-01 4642.070 4613.551Somalia Sweden 2015-07-01 5357.233 4725.9182030-07-01 8490.929 5021.6462020-07-01 6211.305 4840.434 2025-07-01 7243.572 4942.865 2035-07-01 9990.910 5083.6802050-07-01 16597.110 5281.4372040-07-01 11793.524 5144.6852045-07-01 13966.319 5211.212
То же самое в виде
data.frame
:dmlist(p, 'Country or Area'=c("Somalia", "Sweden"),Variant="Constant-fertility scenario")Country.or.Area Variant Year Value1 Somalia Constant-fertility scenario 2010 4642.0703 Somalia Constant-fertility scenario 2020 6211.3052 Somalia Constant-fertility scenario 2015 5357.233 4 Somalia Constant-fertility scenario 2025 7243.5727 Somalia Constant-fertility scenario 2040 11793.5245 Somalia Constant-fertility scenario 2030 8490.929 6 Somalia Constant-fertility scenario 2035 9990.910 8 Somalia Constant-fertility scenario 2045 13966.31912 Sweden Constant-fertility scenario 2020 4840.4349 Somalia Constant-fertility scenario 2050 16597.110 10 Sweden Constant-fertility scenario 2010 4613.551 11 Sweden Constant-fertility scenario 2015 4725.918 13 Sweden Constant-fertility scenario 2025 4942.86518 Sweden Constant-fertility scenario 2050 5281.43714 Sweden Constant-fertility scenario 2030 5021.646 15 Sweden Constant-fertility scenario 2035 5083.680 16 Sweden Constant-fertility scenario 2040 5144.68517 Sweden Constant-fertility scenario 2045 5211.212
Комментариев нет:
Отправить комментарий