当前位置:文档之家› 数据挖掘r语言总结报告

数据挖掘r语言总结报告

数据挖掘r语言总结报告
数据挖掘r语言总结报告

总结报告

课程名称:数据挖掘R语言

任课教师:

姓名:

专业:计算机科学与技术

班级:

学号:

计算机科学与技术学院

2018 年 6 月19 日

一、数据预处理

针对不同分析目标,选择合适的字段,并将字段值处理成适于分析的形式。必要时还需对原数据集进行统计变换后形成易于分析的形式。

为每条数据添加字段:所属地区。根据下图中划分的美国四大地区,将每条数据中表示的案件发生地在该字段上划分为东北部、中西部、南部和西部四个值。

首先导入数据:

gundata<-read.csv("d:/gun.csv",sep = ",",stringsAsFactors = FALSE,header = TRUE,quote=””)

然后将需要的字段取出来,在这里取出了一下几个字段:

gundata[,c("incident_id","date","state","city_or_county","n_killed","n_injured"," congressional_district","latitude","longitude","state_house_district","state_sen ate_district")]

gd <- subset(gundata,select=c(incident_id,date,state,city_or_county,n_killed, n_injured,congressional_district,latitude,longitude,state_house_district,state_s enate_district))

然后根据州字段将所有数据划分为四个地区

阿拉巴马州Alabama

阿拉斯加州Alaska

亚利桑那州Arizona

阿肯色州Arkansas

加利福尼亚州California

科罗拉多州Colorado

哥伦比亚特区Columbia

康涅狄格州Connecticut

特拉华州Delaware

佛罗里达州Florida

佐治亚州Georgia

夏威夷州Hawaii

爱达荷州Idaho

伊利诺州Illinois

印弟安纳州Indiana

爱荷华州Iowa

堪萨斯州Kansas

肯塔基州Kentucky

路易斯安那州Louisiana

缅因州Maine

马里兰州Maryland

麻塞诸塞州Massachusetts

密歇根州Michigan

明尼苏达州Minnesota

密西西比州Mississippi

密苏里州Missour

蒙大拿州Montana

内布拉斯加州Nebraska

内华达州Nevada

新罕布希尔州New Hampshire 新泽西州New Jersey

新墨西哥州New Mexico

纽约州New York

北卡罗来纳州North Carolina 北达科他州North Dakota

俄亥俄州Ohio

奥克拉荷马州Oklahoma

俄勒冈州Oregon

宾西法尼亚州Pennsyivania

罗德岛州Rhode Island

南卡罗来纳州South Carolina

南达科他州South Dakota

田纳西州Tennessee

德克萨斯州Texas

犹他州Utah

佛蒙特州Vermont

弗吉尼亚州Virgina

华盛顿州Washington

西佛吉尼亚州West Virginia

威斯康辛州Wisconsin

怀俄明州Wyoming

东北部

Maine,New Hampshire,Vermont,Massachusetts,Rhode Island,Connecticut,New York,Pennsyivania,New Jersey

中西部

Wisconsin,Michigan,Illinois,Ohio,Indiana,Missour,North Dakota,South Dakota,Nebraska,Kansas,Minnesota,Iowa

南部

Delaware,Maryland,District of Columbia,Virgina,West Virginia,North Carolina,South

Carolina,Georgia,Florida,Kentucky,Tennessee,Mississippi,Alabama,Oklahoma,T exas,Arkansas,Louisiana

西部

Iowa,Montana,Wyoming,Nevada,Utah,Colorado,New

Mexico,Arizona,Alaska,Washington,Oregon,California,Hawaii

for (i in 1:length(gd[,1])){

if (gd[i,3]=="Maine"|gd[i,3]=="New Hampshire"|gd[i,3]=="Vermont"|gd[i,3]=="Massachusetts"|gd[i,3]=="Rhode Island"|gd[i,3]=="Connecticut"|gd[i,3]=="New

York"|gd[i,3]=="Pennsylvania"|gd[i,3]=="New Jersey")

{

gd[i,9]="东北部"

}

else if

(gd[i,3]=="Wisconsin"|gd[i,3]=="Michigan"|gd[i,3]=="Illinois"|gd[i,3]=="Ohio "|gd[i,3]=="Indiana"|gd[i,3]=="Missouri"|gd[i,3]=="North

Dakota"|gd[i,3]=="South

Dakota"|gd[i,3]=="Nebraska"|gd[i,3]=="Kansas"|gd[i,3]=="Minnesota"|gd[i,3]

=="Iowa")

{

gd[i,9]="中西部"

}

else if

(gd[i,3]=="Delaware"|gd[i,3]=="Maryland"|gd[i,3]=="District of Columbia"|gd[i,3]=="Virginia"|gd[i,3]=="West Virginia"|gd[i,3]=="North Carolina"|gd[i,3]=="South

Carolina"|gd[i,3]=="Georgia"|gd[i,3]=="Florida"|gd[i,3]=="Kentucky"|gd[i,3]= ="Tennessee"|gd[i,3]=="Mississippi"|gd[i,3]=="Alabama"|gd[i,3]=="Oklahom a"|gd[i,3]=="Texas"|gd[i,3]=="Arkansas"|gd[i,3]=="Louisiana")

{gd[i,9]="南部"}

else

if(gd[i,3]=="Iowa"|gd[i,3]=="Montana"|gd[i,3]=="Wyoming"|gd[i,3]=="Neva da"|gd[i,3]=="Utah"|gd[i,3]=="Colorado"|gd[i,3]=="New

Mexico"|gd[i,3]=="Arizona"|gd[i,3]=="Alaska"|gd[i,3]=="Washington"|gd[i,3] =="Oregon"|gd[i,3]=="California"|gd[i,3]=="Hawaii")

{gd[i,9]="西部"}}

然后用fix(gd)将第九列的字段修改为part:

最后处理完的数据为以下格式:

最后将数据存储下来,备用:write.csv(gd,"f://GunData.csv",https://www.doczj.com/doc/319150734.html,s = FALSE) .

保存的数据格式如下:

共有23w多条数据,其中部分数据有字段为空值,将在后续分析中删除。

二、基本统计分析

1)统计各州发生枪支案件的总数。

2)统计各地区发生枪支案件的总数。

3)分析各地区枪支案件的分布特征。

4)按年度统计各州发生枪支案件的数目。

5)分析四大地区的经纬度范围

2)推断性统计:选择合适的R函数进行如下假设检验,并得出结论。

1)分析死亡人数与受伤人数间是否具有相关性。

2)分析南部地区的案件数和其他地区的案件数是否具有显著差异。

3)分析死亡人数与案件数是否相关;受伤人数与案件数是否相关。

1、统计各州发生枪支案件的总数。

建立一个table,可以显示出各州的案件数

然后绘制一个直方图,显示出各个州的案件数

就可以直观的看出各个州的案件数量。

2、统计各地区发生枪支案件的总数:

绘制一个条形图,可以直观的看出各个地区的案件总数。

首先建立一个table,counts<-table(gd$part)

,然后利用画图函数,绘制条形图

barplot(counts,main="gunvolience",xlab="part",ylab="num",col=c("red","yell

ow","green","blue"),ylim = c(0,120000))

结果如下图:

可以看出南部人数最多,10w+,其次是中西部,东北部和西部的数量差不多。

3、分析各地区枪支案件的分布特征。

首先取出数据中东北部地区的数据

gd1<-g[g[,10]=='东北部',]

gd2<-g[g[,10]=='南部',]

gd3<-g[g[,10]=='中西部',]

gd4<-g[g[,10]=='西部',]

然后生成四个table

count1<-table(gd1$state)

count2<-table(gd2$state)

count3<-table(gd3$state)

count4<-table(gd4$state)

然后绘制各地区的案件分布图

分析东北部地区的枪支案件分布,利用barplot 函数, barplot(count1,main="东北部",) barplot(count2,main="南部") barplot(count3,main="中西部") barplot(count4,main="西部")

可以看出主要集中在纽约和宾夕法尼亚州,西部全部集中在加州,南部分布的还算平均,佛罗里达多一些,中西部集中在波士顿。

4、按年度统计各州发生枪支案件的数目。

根据日期中的年度,将数据划分为13,14,15,16,17,18六段数据,先将数据排序后,找到每年数据的第一条,然后分片取数据

gt13<-g[1:276,]

gt14<-g[277:51813,]

gt15<-g[51814:105715,]

gt16<-g[105716:159395,]

gt17<-g[159396:219007,]

gt18<-g[219008:231226,]

然后统计各年度的受伤人数、死亡人数、案件数。

> length(gt13[,1])

[1] 276

> length(gt14[,1])

[1] 51537

> length(gt15[,1])

[1] 53902

> length(gt16[,1])

[1] 53680

> length(gt17[,1])

[1] 59612

> length(gt18[,1])

[1]12219

可以看出13年犯案数是276例,14年51537,15年53902,16年53680,17年56912,18年12219例。然后分别建立table,然后就可以看到各个州的案件数。

Table(gt14$state)

Table(gt17$state)

5、分析四大地区的经纬度范围

将数据根据地区分为四部分,然后根据经度和纬度数据绘制散点图。

gd1<-g[g[,10]=='东北部',]

gd2<-g[g[,10]=='南部',]

gd3<-g[g[,10]=='中西部',]

gd4<-g[g[,10]==西部',]

plot(gd1[,9],gd1[,8],col="blue",main="东北部",xlab="经度",ylab="纬度",xlim=c(-125,-65),ylim=c(30,50))

",xlim=c(-125,-65),ylim=c(30,50))

",xlim=c(-125,-65))

",xlim=c(-125,-65))

2)推断性统计:选择合适的R函数进行如下假设检验,并得出结论。

1)分析死亡人数与受伤人数间是否具有相关性。

2)分析南部地区的案件数和其他地区的案件数是否具有显著差异。

3)分析死亡人数与案件数是否相关;受伤人数与案件数是否相关。

1、利用R语言中的cor()函数,可以计算数据之间的相关性

先取出数据中的死亡人数和受伤人数字段,分别为[,6]和[,7],因为字段中的格式为字符串形式,现用as.numeric函数将字符串格式强制转化为数值型。然后利用cor函数

Cor(g[,6],g[,7])计算相关性。

这里a是前面的[,6]死亡人数数据,b是[,7]受伤人数数据,取10000条计算(取

相关主题
文本预览
相关文档 最新文档