2016-06-07 5 views
0

Может ли кто-нибудь помочь мне понять, почему это не работает, как я считаю?Выбор подмножества большого SpatialPolygonsDataFrame с использованием маскирующего вектора

У меня есть элемент 1000+ SpatialPolygonsDataFrame объект (т. Е. От sp), и я хотел бы сократить его до вектора из 20 случайных предметов из целого.

n <- dim(geo1) # where geo1 is a big SpatialPolygonsDataFrame object 
n <-n [1] 
set.seed(1) # set random number generator seed for repeatability. 
new_n=20 # Choose 20 random polygons 
mask <- sample(0:n,new_n,replace=F) # trim size down from n to new_n polygons. 
geo1small <- SpatialPolygonsDataFrame(Sr = [email protected][mask], data = [email protected][mask,], match.ID = TRUE) 

Результат:

Error in SpatialPolygonsDataFrame(Sr = [email protected][mask], data = [email protected][mask, : 
trying to get slot "polygons" from an object of a basic class ("list") with no slots 
+1

Вы можете непосредственно подмножество объекта по индексу: 'geo1small <- GEO1 [маска,]' – rcs

+0

Извините, я не знаю, как отметить ваш комментарий как правильный «ответ», и я понимаю, что мой вопрос по заданию вряд ли будет очень полезен для других. Не уверен, что я правильно рассмотрел ответ ниже; пожалуйста, сообщите, если я должен что-то изменить. Еще раз спасибо. – Kevin

+0

Если этот ответ на ваш вопрос, вы можете пометить мой ответ ниже как [принято] (http://meta.stackexchange.com/a/5235) – rcs

ответ

2

Вы можете непосредственно подмножество пространственных объектов с помощью индекса:

geo1small <- geo1[mask, ] 

 Смежные вопросы

  • Нет связанных вопросов^_^