我有三個列表 - 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]
代碼段:
我剝去括號然後。 。 。在validObject(.Object)
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)
)
錯誤: 無效類「SpatialPointsDataFrame」對象:在data.frame行和SpatialPoints的數量不匹配
我希望能夠做的是什麼截斷列表中的元素數量最少。例如,如果wifiRSSI包含n個元素,而lat/long包含n + 5個元素 - 則將lat/lon截斷爲前n個元素[1:n]以匹配wifiRSSI,然後繪製。
任何意見或建議,將不勝感激。
錯字 - 應如下: geoplots < - SP :: SpatialPointsDataFrame( cbind(長,LAT), 數據。框架(wifiRssi) – JohnA
你可以編輯你的問題! – jogo