R语言提取数据集高频站点名称及对应station_lat、station_lng值
提取前100高频站点对应经纬度的R实现方法
操作步骤
- 先提取前100高频站点的名称向量
top100_stations <- names(sort(table(cyclistic_data$start_station), decreasing = TRUE)[1:100])
- 生成站点与经纬度的唯一映射表,避免同一个站点的重复行干扰筛选结果
station_unique <- unique(cyclistic_data[, c("start_station", "station_lat", "station_lng")])
- 筛选得到100个高频站点的名称+经纬度结果
top100_station_coords <- station_unique[station_unique$start_station %in% top100_stations, ]
常见问题处理
- 若输出结果中同一个站点对应多个不同经纬度,说明原始数据存在经纬度录入异常,可对该站点的经纬度取均值/众数修正,也可直接过滤掉异常值
- 若需要同时保留站点的使用频次,可使用合并逻辑实现,示例代码如下:
# 生成站点频次统计结果 station_count <- data.frame( start_station = names(table(cyclistic_data$start_station)), use_count = as.numeric(table(cyclistic_data$start_station)) ) # 合并频次与经纬度信息 station_full_info <- merge(station_count, station_unique, by = "start_station") # 按频次降序排序取前100 top100_full_info <- station_full_info[order(-station_full_info$use_count), ][1:100, ]
内容的提问来源于stack exchange,提问作者KalsaraL
相关产品推荐
相关产品推荐

