手把手教你利用R语言的主身分阐明对城管事件数据阐明
观念性的对象就不说那么多了,这次利用主身分阐明主要目标并不是降维,而是阐明城管数据中的事件种别之间是否存在干系,虽然,城管事件范例有好几百,这里就只选取从去年九月到今朝产生量前十的事件种别;如下图,排名前十的事件种别依次为,车辆乱停放,乱堆物料堆,犯科张贴小告白,店肆出店策划,自备容器外放,违规口号宣传品,灵活车乱停放,袒露垃圾,地面不洁,阶梯不洁。
确定好这十个种别后就是数据的提取了,这时候我们要留意一下数据布局,和数据样本量,为什么呢?因为在主身分阐明的时候事件种别只能是属性,也就是说事件种别是一列;这时候看看一下城管数据内里存在的数据布局,数据记录数必需是属性的6~10倍,这时候调查城管数据布局,明明不是我们想要的,
于是写个SQL转换一下数据布局,起的别名没有凭据法则来,这是个失误;
这时候就要利用R语言去做阐明白,首先是让我们能从数据库里拿数据,所以建设一个数据库链接,安装包RODBCR语言代码install.packages(“RODBC”)library(RODBC)jixiao_connect <- odbcConnect(“jixiao”,uid=”jixiao”,pwd = “*****”,believeNRows=FALSE)这时候我们就建设了一个数据库毗连jixiao_connect,这时候我们就要提取数据R语言代码jixiao_data <- sqlQuery(jixiao_connect,”select sum(case when t.kind_code_thd=’车辆乱停放’ then 1 else 0 end) kind_one ,sum(case when t.kind_code_thd=’乱堆物堆料’ then 1 else 0 end) kind_two ,sum(case when t.kind_code_thd=’犯科张贴小告白’ then 1 else 0 end) kind_three ,sum(case when t.kind_code_thd=’店肆出店策划’ then 1 else 0 end) kind_code_4 ,sum(case when t.kind_code_thd=’自备容器外放’ then 1 else 0 end) kind_code_5 ,sum(case when t.kind_code_thd=’违规口号宣传品’ then 1 else 0 end) kind_code_6 ,sum(case when t.kind_code_thd=’灵活车乱停放’ then 1 else 0 end) kind_code_7 ,sum(case when t.kind_code_thd=’地面不洁’ then 1 else 0 end) kind_code_8 ,sum(case when t.kind_code_thd=’袒露垃圾’ then 1 else 0 end) kind_code_9 ,sum(case when t.kind_code_thd=’无照策划游商’ then 1 else 0 end) kind_code_10 from test_erkang t where t.district_name in (‘美兰区’,’龙华区’,’秀英区’,’琼山区’) GROUP BY T.DISTRICT_NAME,TO_CHAR(T.REVIEW_FIRST_DATE,’YYYYMM’)”)jixiao_data验证数据是否被提取,说明数据已经提取乐成
我们在安装主身分需要用的包R代码
install.packages(“psych”)library(psych)首先我们要做的是需要确定主身分需要几个,这时候我们就需要cattell碎石检讨来确定主身分个数,也就是保存特征值大于1的主身分,因为特征值大于1的主身分能表明较多的方差;R代码fa.parallel(jixiao_date,fa=’pc’,n.iter = 100,show.legend=FALSE)
上图中我们应该选取3个主身分R代码pc <- principal(jixiao_date,nfactors=3,rotate = ‘varimax’)pc后头谁人是我们选择的主身分旋转的要领,为了主身分之间能更容易的表明,功效如下
PC1列下的系数是和各个事件类此外相干系数,h2列暗示身分可以或许表明方差的几多,u2列暗示没法表明表明方差的比例,事件KIND_ONE也就是车辆乱停放,主要相关联的是主身分PC1,相干系数为0.97,PC2和PC3的相干系数别离为0.05,0.07,主身分可以或许表明车辆乱停放95%的方差,无法被表明的比例为0.055;proportion var 暗示表明整个数据集的表明水平,PC2表明变量30%方差,PC1表明变量26%方差,PC3表明变量21%方差,主身分可以或许表明整个变量77%的方差;对主身分举办可视化R代码fa.diagram(pc)#p#分页标题#e#
又上图我们可以知道主身分构成,大抵归类为PC1:无照策划游商,袒露垃圾,车辆乱停放PC2:乱堆物堆料,犯科张贴小告白,自备容器外放,灵活车乱停放,地面不洁PC3:店肆出店策划,违规口号宣传品;按照业务和小我私家的猜测我猜测PC1所暗示的富贵的步行街道身分,PC2暗示的是城中村身分,PC3暗示的是骨干道身分。发起和小结1、可以认为乱堆物堆料,犯科张贴小告白,自备容器外放,灵活车乱停放和地面不洁是一类相关联事件种别,无照策划游商,袒露垃圾和车辆乱停放是一类相关联事件种别,店肆出店策划,违规口号宣传品可以认为是一类相关联的一类事件范例2、可以认定主要事件来历是来自城中村,骨干道,和步行街道;3、步行街道给的相应的法子可以增加相应的非灵活的停车位,分别小贩策划点,增加环卫人员的清扫频率4、城中村:提高相应的停车筹划,会合整治城中村情况卫生5:、骨干道:相应的增加放哨员的放哨频率即可
接待插手本站果真乐趣群贸易智能与数据阐明群乐趣范畴包罗各类让数据发生代价的步伐,实际应用案例分享与接头,阐明东西,ETL东西,数据客栈,数据挖掘东西,报表系统等全方位常识QQ群:81035754