R可视化分析链家网南京楼市数据(上篇)

浏览: 2019

数据下载:数据来自链家网爬虫,下载地址为南京链家网数据 密码:skly

#加载数据
data = read.csv('D:/练习集/南京链家楼市分析/dpLianjiabydistrict.csv',header = TRUE,fileEncoding = "gbk")
dim(data)
#数据共有30515行,24列
#看一下数据
str(data)
#1、链家南京每日成交量统计可视化
daySaleAmount <- with(data, table(dealDate))
barplot(daySaleAmount, xlab="交易时间", ylab="成交量(套)", main="链家南京成交量统计(2012.5.3-2017.7.6)"

一、10个数据分析维度

  • 各一级区域成交量排行和销售均价情况
  • 热门成交房屋户型绘饼图分析
  • 链家南京房屋年代统计分析
  • 链家南京房屋交易议价空间统计(议价空间 = 挂牌价 - 成交价)
  • 链家南京楼层房价统计
  • 最贵的top10小区
  • 链家每日销售额
  • 平均成交总价与平均成交单价
  • 房屋成交周期
  • 报价和成交价差异

二、数据处理及可视化分析

#加载数据
data = read.csv('D:/案例/南京链家楼市分析/dpLianjiabydistrict.csv',header = TRUE,fileEncoding = "gbk")
dim(data)
#数据共有30515行,24列
#看一下数据
str(data)
#1、链家南京每日成交量统计可视化
daySaleAmount <- with(data, table(dealDate))
barplot(daySaleAmount, xlab="交易时间", ylab="成交量(套)", main="链家南京成交量统计(2012.5.3-2017.7.6)"

1.jpg

  • 从2016年12月开始至2017年2月末,南京楼市迎来买买买的高潮!成交量爆增
  • 2012.5.3-2017.7.6近五年,南京楼市成交量在2016年末开始迎来买房高峰
#2、一级区域成交量排行和销售均价
#一级区域观测赋值给增加的新变量zone
data$district <-as.character(data$district)
zonedata = function(x){
strsplit(x,split = "/")[[1]][1]
}
zone1 <-sapply(data$district,zonedata)
data$zone <- zone1
data$zone <- factor(data$zone)
zoneSales <- with(data, table(zone))
zoneSales <- sort(zoneSales, decreasing=TRUE)
2.jpg#一级区域成交量数据表 (图2)
zoneSales=as.data.frame(zoneSales)

2.jpg

  • 鼓楼区成交量最大,以8350套成交套数雄居第一!
  • 秦淮区以6388套成交套数位于NO2!
#链家南京各区域交易情况绘图!
# 整合数据,计算出各区域均价
tempPrices <- aggregate(data$unitPrice, by=list(zone=data$zone), mean)
zoneUnitPrices <- NULL
# a=NULL a[c("will","night")] = c(1,2) a
zoneUnitPrices[t(tempPrices["zone"])] <- t(tempPrices["x"])
#zoneUnitPrices["建邺"]
zoneUnitPrices[2] <- round(zoneUnitPrices[2], 0)
ry = as.data.frame(zoneUnitPrices)$zoneUnitPrices
ly = zoneSales$Freq
twoord.plot(lx=c(1:9), ly=ly, lylim=c(0, max(zoneSales$Freq)*1.1),
rylim=c(0, max(ry)*1.1), main="链家南京各区域交易情况",
xlab="区域", ylab="成交量(套)", rylab="均价(元)",
rx=c(1:9), ry=ry,
type=c("bar", "b"), xlim=c(0, 10))
##加载均价数据
text(c(1:9), zoneSales$Freq+300, zoneSales$Freq)
rypos <- round(zoneUnitPrices[zoneSales$zone]*max(zoneSales$Freq)/max(zoneUnitPrices))
text(c(1:9), rypos+600, round(zoneUnitPrices[zoneSales$zone]), col="red")

3.jpg

推荐 1
本文由 邬书豪 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册