У меня есть три списка - lat, long, wifiRssi. Каждый список имеет одинаковое количество строк. lat и long всегда будут иметь одинаковое количество элементов в строке. wifiRssi обычно имеет меньше элементов, чем lat/long, но иногда больше. Я пытаюсь построить эти значения, но поскольку элементы моих списков не равны, я получаю исключение границ.R Подмножество - Построение неравных списков
Образец данных:
location_lat
[32.831, 32.831, 32.832, 32.832, 32.833, 32.833, 32.834, 32.834,
32.835, 32.835, 32.836, 32.836, 32.837, 32.837, 32.838]
location_long
[-96.691, -96.691, -96.692, -96.692, -96.693, -96.693, -96.694, -96.694,
-96.695, -96.695, -96.696, -96.696, -96.697, -96.697, -96.698]
wifi_Rssi
[-81, -81, -81, -81, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0]
Код сниппета:
Я сдирать скобки тогда. , ,
wifiRssi <- opr$wifi_Rssi
wifiRssi <- gsub(" ", "", wifiRssi, fixed = TRUE)
wifiRssi <- strsplit(wifiRssi, ",")
wifiRssi <- unlist(wifiRssi)
wifiRssi <- as.integer(wifiRssi)
lat<- as.character(opr$location_lat)
lat<- gsub(" ", "", lat, fixed = TRUE)
lat<- strsplit(lat, ",")
lat<- unlist(lat)
lat<- as.double(lat)
long<- as.character(opr$location_long)
long<- gsub(" ", "", long, fixed = TRUE)
long<- strsplit(long, ",")
long<- unlist(long)
long<- as.double(long)
pal <- colorNumeric(c('red','green'), wifiSNR)
geoplots <- sp::SpatialPointsDataFrame(
cbind(long, lat),
data.frame(wifiRssi)
)
Ошибка в validObject (.Object): недопустимый класс «SpatialPointsDataFrame» объект: количество строк в data.frame и SpatialPoints не совпадают
То, что я хочу, чтобы быть в состоянии сделать это усечение список к наименьшему числу элементов. Например, если wifiRSSI содержал n элементов и lat/long содержало n + 5 элементов, то обрезайте lat/lon в первые n элементов [1: n], чтобы соответствовать wifiRSSI, затем запишите.
Любые идеи или предложения будут оценены.
Typo - следует читать как: геополитические горизонты <- sp :: SpatialPointsDataFrame ( cbind (long, lat), данные.frame (wifiRssi) – JohnA
вы можете отредактировать свой вопрос! – jogo