2014-04-10 14 views
5

Tôi đang thực hiện rất nhiều phân tích thống kê trên cơ sở quận trong R cho Hoa Kỳ. Nhưng tôi cũng muốn làm một số nghiên cứu cho Ấn Độ. Tôi đã tìm thấy bản đồ của tiểu bang, nhưng không có bản đồ của quận trong R. Tôi có thể tìm thấy những thứ như vậy trong d3.js nhưng tôi không muốn từ bỏ R.Gói R cho Ấn Độ?

Có gói R cho Ấn Độ tương tự như 'bản đồ' hay không.

Trả lời

8

Bạn có thể sử dụng dữ liệu từ GADM chứa shapefiles ở các cấp quản lý hành chính khác nhau nên cấp huyện là cấp 2 tôi đoán. Bạn có thể sử dụng tập lệnh bên dưới để tải trực tiếp dữ liệu, mã được lấy từ here.

Vì vậy, trong trường hợp của bạn, bạn sẽ chạy:

IND<-getCountries("IND",level=2) 

Chỉ cần để kiểm tra, vẽ đồ thị dữ liệu:

plot(ind) 

enter image description here

Hoặc bạn có thể sử dụng GAUL dữ liệu và tải các shapefile sử dụng maptools.

Mã để nhận dữ liệu.

# Load required libraries 
library(sp) 

# Load file from GADM 
# Specify the countries for fileName using ISO3C 
# like "AFG" for Afghanistan. 
# "level" specifies adminsitrative level. 
loadGADM<-function(fileName,level=0,...){ 
load(url(paste("http://gadm.org/data/rda/",fileName,"_adm",level,".RData",sep = ""))) 
gadm 
} 

# Add prefix (ISO3C code) to shapefile. 
changeGADMPrefix<-function(GADM, prefix) { 
GADM <- spChFIDs(GADM, paste(prefix, row.names(GADM), sep = "_")) 
GADM 
} 

# Load file and change prefix 
loadChangePrefix<-function (fileName, level = 0, ...) { 
theFile <- loadGADM(fileName, level) 
theFile <- changeGADMPrefix(theFile, fileName) 
theFile 
} 

# Apply all the functions: 
getCountries <- function (fileNames, level = 0, ...) { 
polygon <- sapply(fileNames, loadChangePrefix, level) 
polyMap <- do.call("rbind", polygon) 
polyMap 
} 
+0

Cảm ơn bạn rất nhiều! Trên một biên phụ, làm thế nào tôi có thể thêm đầy đủ trạng thái của Kashmir ở Ấn Độ vào bản đồ này? Nếu tôi sử dụng cái này, tôi sẽ nhận được rất nhiều flak. Vấn đề biên giới nhạy cảm. –

+2

Đó là một câu hỏi hay. Vì vậy, nếu tôi so sánh cốt truyện với một bản đồ chính thức có vẻ như đối với Jamnu & Kashmir, các khu vực thuộc quyền kiểm soát của Trung Quốc và Pakistan bị thiếu. Chính xác? Một cách để bao gồm chúng cũng là tải dữ liệu mức ADM2 cho CHN và PAK và sau đó tập hợp dữ liệu để bao gồm tất cả các quận của Ấn Độ và các huyện Trung Quốc và Pakistan ở Kashmir. Vì vậy, đó sẽ là Aksai Chin cho Trung Quốc, và Azad-Kasmir và Gilgit-Balistan cho Pakistan, tôi đoán vậy. – BlankUsername

+0

Cảm ơn bạn. Bạn có thể vui lòng thay đổi câu trả lời để phản ánh thay đổi đó không? Không vội vàng. Bất cứ khi nào bạn tìm thấy thời gian. Về cơ bản, đây là bản đồ chính thức và không có bản đồ nào khác được xuất bản ở Ấn Độ. http://www.nationsonline.org/bilder/map_of_india50.jpg –

Các vấn đề liên quan