我有三个列表 - 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