首页 > 编程知识 正文

r语言商务数据分析实战,应用统计分析与r语言实战PDF

时间:2023-05-05 18:05:16 阅读:44414 作者:2544

《深入浅出数据分析》 R语言实用教程一年前的r语言笔记,和《深浅》一起学习,当时使用的版本是R i386 4.0.3

因为学了MySQL之后学了r,所以也有人用MySQL理解

1 .将包加载到基本处理目标:包-加载包-加载xlsx #并将数据源文件另存为其他xlsx

#创建对象并指定导入()导入表单的含义() ) ) ) ) ) ) ) ) )。

#语法:

表别名-导入保存在-read.xlsx(file='文件中的路径',sheetIndex=n ) #数据表1 :

employees-read.xlsx (file=' c :/users/ying/desktop/123/123.xlsx ',sheetIndex=1) #employees )将此文件添加到

employees-read.CSV (文件=' c :/users/ying/desktop/123/31.CSV ),header==TRUE )这是一个CSV文件,在某些情况下,header

employees #直接显示表中的所有数据

print(employees ) #与上述等效

head(employees,n=10 ) #只打印前10条记录,相当于limit 10

另一方面,创建直方图的#hist(employees$received,breaks=50 ) hist :直方图函数#employees :指定对象为employees#$received

employees $ received (SD ) #sd:sd命令返回指定数据范围的标准偏差#summary (employees $ received ) # summary命令,最小值#min,1ssd

hist (员工$接收,阻止=175 ) #其他扩展:

#根据2007/2008年的数据制作直方图

hist (employees $ received [ employees $ year==2007 ],breaks=50 ) hist ) employees $ received [ employees $ year===2000

hist (employees $ received [ employees $ gender==' f ' ],breaks=50 ) hist ) employees $ received [ employees $ gender

部署$接收[部署$ negotiated==true ] (hist ), breaks=50 ) hist ) employees $ received [ employees $ nego yees ] breaks=50 ) summary (employees $ received [ employees $ )摘要) employees$received[employeees]散点图plot (employees $ requested [ employees $ negotiated==true ],employees

cor (employees $ requested [ employees $ negotiated==true ],employees $ received [ employees $ negotiated===true ] #

mylm-lm (接收[ negotiated==true ] ~请求[ negotiated==true ],数据=employees ) myLm$coefficients #为分钟

知道#均方根误差也称为机会误差,在tableau中称为标准误差

#建立线性回归方程

> myLm <- lm(received[negotiated==TRUE]~requested[negotiated==TRUE],data=employees)

#计算这条线性方程的均方根误差

#-----------------------方法一-----------------------------------

summary(myLm) #显示模型汇总,include 残差的汇总统计;还有其他统计值

#-----------------------得到结果----------------------------------
Residuals: #残差统计量,如果1Q和3Q有大约相同的幅度,表示有较对称的钟形分布
Min 1Q Median 3Q Max
-13.5560 -0.5914 -0.0601 0.3879 16.9173

#---------------------------方法二-----------------------------

`summary(myLm)$sigma` #直接打印均方根误差

#四、建立分区模型
#先自己找个分区的点,比如requested 10%为分界点

#创建两个分区相对应的新的线性模型对象

myLmBig <- lm(received[negotiated==TRUE & requested > 10]~requested[negotiated==TRUE & requested > 10],data=employees) myLmSmall <- lm(received[negotiated==TRUE & requested <= 10]~requested[negotiated==TRUE & requested <= 10],data=employees)

#查看两个线性模型对象的汇总结果,可以全部复制再一次回车即可执行全部

summary(myLmSmall)$coefficientssummary(myLmSmall)$sigmasummary(myLmBig)$coefficientssummary(myLmBig)$sigma

#四、创建有噪声的散点图
#首先是关系型数据表格之间的连接,使用Excel
#实现issue表和article表的连接

=COUNTIF(hfda_ch12_articles.csv!B:B,hfda_ch12_issues.csv!A2)

#求出R保存数据的位置,然后将文件放到该目录下

getwd()

#读取指定文件夹位置的文件

dispatch <- read.csv("dispatch analysis.csv",header=TRUE)

#查看一下刚刚导入的数据有没有问题:head(表格名字)

head(dispatch)

#创建

plot(Sales~jitter(Artcle.count),data=dispatch) #plot创建散点图#jitter指令是在数字中添加噪音,使得数据相互分隔,以便在散点图上识别#最终获得以jitter(Artcle.count)为X轴,Sales为Y轴的散点图 五、创建栅栏图

#导入数据

ahc <- read.csv("ahc.csv",header=TRUE)head(ahc)

#加载lattice数据包,然后运行xyplot公式,绘制lattice散点图
#根据作者名称authorname,创建散点图

library(lattice)xyplot(webHits~commentCount|authorName,data=ahc) #library(lattice):加载lattice数据包的指令# | 后面的字段是按照这个来分组建立散点图,相当于GROUP BY#webHits:点击率,y轴#commentCount:评论次数,x轴

了解一下lattice数据包

lattice包是一个非常强大地高级绘图程序包,很容易实现单变量或多变量的数据可视化 # 生成的图形为栅栏图。
在一个或多个其它变量的条件下,栅栏图可展示某个变量的分布或与其他变量间的关系。 # lattice包提供了丰富的图形函数,可生成单变量图形 # (点图、核密度图、直方图、柱形图和箱线图)、 # 双变量图(散点图、带状图和平行箱线图)和多变量图形(三维图和散点图矩阵)。

六、正则表达式

#导入数据

getwd() #获得文件路径

#读取数据,注意读取好之后不会返回结果

acac <- read.csv("1313.csv",header=TRUE)

#查看数据

head(acac)

#正则表达式指令,注意:他自己不会弹出结果

NewLastName <- sub("\(.*\)","",acac$LastName) #NewLastName:处理后的新字段名#sub(要替换的内容,替换成啥,表$该字段名) 替换函数,把带有"()"和其中包括的所有字符替换成""#

#检查一下结果

head(NewLastName)

#七、表格整理

#对数据进行排序
#语法:

新表名 <- 旧表名[order(旧表$要排序的字段),] acsorted <- acac[order(acac$PersonID),] #acsorted新表名#order()函数

#查看一下新表

head(acsorted,n=50)

#去重操作
#STEP1:创建一个新的数据框架,显示唯一出现的记录

acnameonly <- acsorted

#STEP2:删除两个不需要的字段,这两个字段导致那些相同的记录变得不一样
#(如果不删除,就无法去重)

acnameonly$CallID <- NULLacnameonly$Time <- NULL

#使用unique函数删除重复的名字
#针对整个记录来对比的,一行的记录中全部字段都不同才会视为不同

acnameonly <- unique(acnameonly)

#先查看一下结果,然后将结果写入新的CSV文件

head(acnameonly,n=50)write.csv(acnameonly,file="acnameonly.csv")

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。