【R可视化】你家乡的肯德基都在哪儿?

本文作者以肯德基分布为切入点,探讨城市商圈价值。通过GitHub的baidumap包和百度地图api获取北京肯德基门店地址,结合谷歌地图展示分布。发现北京西城区与朝阳区交界处、海淀区中关村区域为两大商圈,而奥运村处于谷底。还提及其他大城市,指出可从肯德基发展侧面看城市发展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

640?wx_fmt=gif 作者简介Introduction

宋星云  中国科学院心理研究所硕士,R语言爱好者。坚信数据是21世纪的新能源,用可靠的数据、可靠的方法,讲可靠的故事,下可靠的结论。

公众号:星云实验室


哪里人流量大,哪里商业价值高,肯德基就会开到哪里。肯德基在选址时会做大量的工作,收集大量资料确定商圈价值。因此,肯德基密度是衡量商圈价值重要的风向标之一。 


笔者在来北京求学前,听说实验室离鸟巢很近,便推测这里一定是北京城最繁华最热闹的区域,研究生生活一定能很幸福。然而在来这里后,没想到不仅交通非常不便,而且,竟然如此让人专(qing)心(xin)求(gua)学(yu)附近连最近的肯德基都要坐2站公交!(╯‵□′)╯︵┻━┻

因此,笔者想看看,北京的肯德基都在哪里,北京最繁华的地方都在哪里!

640?wx_fmt=png


首先,我们要获取北京市肯德基各门店的地址呢。GitHub中的包baidumap提供了一个简单的解决方案,申请百度地图的开发者权限后,调用百度地图api就可以爬取了。

library(dplyr)
library(ggmap)
library(baidumap) options(baidumap.key = '申请的密钥')
# 计算全距,取5%~95%的数据,按照排除3个标准差以外的数据----
range.std<-function(x,alpha=0.05){  lower<-quantile(x,alpha)  upper<-quantile(x,1-alpha)  mysd<-x[x>lower & x<upper] %>% sd  mymean<-x[x>lower & x<upper] %>% mean  lower2<-mymean-3*mysd  upper2<-mymean+3*mysd  return(c(lower2,upper2)) }
# 读取城市某目标的地址信息  ---
city_what<-function(city,place="肯德基"){  
#获取主城区肯德基坐标  position.K_raw0<-getPlace(place=place,city) #获取raw data      #删除过于偏远的门店      position.K_raw0<-subset(position.K_raw0,                                range.std(lat,0.1)[1]<=lat & lat<=range.std(lat,0.1)[2] &                                range.std(lon,0.1)[1]<=lon & lon<=range.std(lon,0.1)[2])      position.K_raw0<-arrange(position.K_raw0,lon,lat)    # 确定各城市的坐标范围  mydf<-position.K_raw0  range.lat<-range(mydf$lat)  range.lon<-range(mydf$lon)  mylist<-list(positionKFC=mydf,                         lat=range.lat,                         lon=range.lon,                         center=c(mean(range.lat),mean(range.lon)),                         width_lat=range.lat[2]-range.lat[1],                         width_lon=range.lon[2]-range.lon[1])
return(mylist) } mycity<-"北京"
KFC_beijing<-city_what(mycity,place="肯德基")


现在我们已经获取了北京市肯德基的门店地址信息,现在需要获取合适尺寸的北京市地图。虽然baidumap包同样可以获取北京市地图,但是,百度地图的配色真的好难受啊(╯‵□′)╯︵┻━┻ 于是笔者使用了ggmap中默认的谷歌地图

library(ggplot2)

getMap<-function(mycity_t,                    maptype = "roadmap",#获取北京市道路地图                    color="bw", #黑白                    zoom=11,...){  #mycity_t输入city_what返回的list  p<-get_map(mycity_t$center %>% rev,maptype=maptype,color=color,zoom=zoom,...)  p<-ggmap(p)+    scale_x_continuous(limits = mycity_t$lon, expand = c(0, 0)) +    scale_y_continuous(limits = mycity_t$lat, expand = c(0, 0)) +    theme_nothing()  return(p) } map_beijing<-getMap(KFC_beijing)


最后综合门店地址与北京市地图,大功告成!

library(RColorBrewer)#配色
library(ggimage)#添加icon图标

map_KFC_beijing<-    map_beijing +      geom_image(data=KFC_beijing$positionKFC,                 mapping=aes(lon, lat),                 image="apps_kfc_32px_547511_easyicon.net.png",                 size=0.02) +      stat_density2d(data=KFC_beijing$positionKFC,                     mapping=aes(x=lon, y=lat,                                 fill=stat(level),alpha=stat(level)),                     geom="polygon",                     show.legend = F)+      scale_fill_distiller(palette = "RdYlGn")+      scale_alpha_continuous(range=c(0.05,0.25)) map_KFC_beijing



640?wx_fmt=png


在图中,颜色的热度代表了肯德基分布的热度。可以明显看出,北京拥有两块较大的商圈:


西城区与朝阳区交界处


该区域涵盖了北京的地标天安门广场、故宫博物馆等旅游景点,北京站等交通要塞,北京医院、北京协和医院等重要基础设施,西单、王府井的重要商圈。此处不仅承担大量的城市功能,而且游客众多,是北京市人流量最大的区域。


海淀区中关村区域


该区域涵盖了北京颐和园、圆明园两处最著名的旅游景点,清华北大两所最重要的高等学府,中关村一处重要的科技园区。此处同样是北京一日游必去之地,景点集中且游客众多;高校密度高,且毗邻中关村科技园区,同样也是文化教育科技中心。

而笔者实验室所在的奥运村(大屯地区),从图中可以看出正好夹在了两大商区的谷底,虽然空间位置上并不偏僻,但是该区域承担的功能较为单一,人流量也因此受到了限制。


640?wx_fmt=gif


那么,让我们看看中国其他大城市的肯德基的分布吧!

上海

640?wx_fmt=jpeg


广州

640?wx_fmt=jpeg


深圳

640?wx_fmt=jpeg


杭州

640?wx_fmt=png



成都

640?wx_fmt=jpeg


苏州

640?wx_fmt=png

640?wx_fmt=gif

肯德基来到中国已经30年了,和我们90后一起成长,一起从稚嫩走向成熟。可以说,现在肯德基已经完全融入了中国人的生活。同样的,国家在进步,城市也在发展,肯德基也在随着城市的发展而变迁。


记得小时候,坐上半小时的公交车去吃一顿肯德基都是幸福的事,随着城市的发展与变革,小苏州成了大苏州,肯德基也多了起来。原来贫瘠的金鸡湖已成为苏州重要的商圈,肯德基也成为了湖东圆融天幕一处重要的地标。


反过来,肯德基的发展状况易获取、易量化,我们也能从中侧面看出城市的发展。



大家都在看

2017年R语言发展报告(国内)

精心整理 | R语言中文社区历史文章合集(作者篇)

精心整理 | R语言中文社区历史文章整理(类型篇)


640?wx_fmt=jpeg

公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战  
回复 
Python       1小时破冰入门

回复 数据挖掘     R语言入门及数据挖掘
回复 
人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值