R语言数据探索功能总结

#本次技能点:
#str dim attribute head tail summary quantile hist cov cor aggregate pairs boxplot  scatterplot3d  plot3d heatmap
#使用iris数据集进行数据探索的练习

#本次练习点:
#str dim attribute head tail summary quantile hist cov cor aggregate pairs boxplot  scatterplot3d  plot3d heatmap


#-----探索整体情况
#str()查看数据结构类型、行列数以及每列大体情况
str(iris)

#dim()查看数据结构大小
dim(iris)

#attribute() 返回names,row.names,class属性
attributes(iris)

#head和tail分别返回数据的前五行和后五行
head(iris)
tail(iris)

#取某一列的任意几行
iris[1:10,"Sepal.Length"]
iris$Sepal.Length[1:10]


#-----探索单个变量
#概况、分位数、方差、直方图、概率密度分布
summary(iris)  #最大、最小、中位数、平均值、一三分位数
var(iris$Sepal.Length)
quantile(iris$Sepal.Length)
hist(iris$Sepal.Length)
plot(density(iris$Sepal.Length))

#table()函数探索单个变量因子频数,以及用它来绘制饼图、条形图
table(iris$Species)
pie(table(iris$Species))
barplot(table(plot(iris$Species)))

#-----探索多个变量
#两个及多个变量的协方差
cov(iris$Sepal.Length,iris$Sepal.Width)
cov(iris[,1:4])  #统计1-4列中所有行的协方差

#两个及多个变量的相关系数
cor(iris$Sepal.Length,iris$Sepal.Width)
cor(iris[,1:4])

#查看每个种类的sepal.length 的数据
# aggregate是在某个数据总集中拆分子集并按照指定函数运算aggregate(x, by, FUN,data ..., simplify = TRUE)
aggregate(Sepal.Length~Species,summary,data=iris)

#使用箱线图打印每个分类下的数据
#boxplot(x,by,data=)
boxplot(Sepal.Length~Species,data=iris)

#打印变量之间的相关关系图
with(iris,plot(Sepal.Length,Sepal.Width,col=Species,pch=as.numeric(Species)))

#添加jitter值进行噪声值的优化
with(iris,plot(jitter(Sepal.Length),jitter(Sepal.Width),col=Species,pch=as.numeric(Species)))

#绘制不同变量之间的散点图矩阵
pairs(iris)

#----更高级的探索

#3d图
library(scatterplot3d)
with(iris,scatterplot3d(Sepal.Length,Sepal.Width,Species))
# install.packages("rgl")

#绘制交互式的3d图,效果很炫
library(rgl)
with(iris,plot3d(Sepal.Length,Sepal.Width,Species))

#热区图
distMatrix<-as.matrix(dist(iris[,1:4])) #通过dist距离函数来计算1-4列之间各个花数据的距离,形成矩阵
heatmap(distMatrix)#将距离矩阵传给热区图进行绘制图形

#如何将图表保存到图片中
pdf("/Users/gavinchen/我的文档/MBA养成记/2-自我提升/2-数据分析/程序练习/GrammarPractise-R/data/myplot.pdf")
x<-(1:50)
plot(x,log(x))
dev.off()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值