R语言与数据挖掘进修条记(1):数据挖掘相关包的先容
在开始一个数据阐明项目之前,都很是有须要相识一下我们的数据,本日晚上主要整理数据摸索方面一些常用的代码:
一、先看看数据
我们首先要先相识一下数据的尺寸和布局:
dim(iris) # 相识数据集的维度,有几多行几多列?
names(iris) # 数据有哪些列?
str(iris) # 数据的布局如何?
attributes(iris) # 数据的列名、行名和数据布局
然后看看数据集前几行和后几行长成什么样子:
iris[1:5, ] # 看看数据的前5行
head(iris) # 看看数据的前6行
tail(iris) # 看看数据的最后6行
iris[1:10, “Sepal.Length”] # Sepal.Length变量的前10个取值
iris$Sepal.Length[1:10] # 用别的一种形式取出
二、看看单个变量的环境
summary(iris) # 看看单个变量的要害数据:最小值、25%分位数、中位数、均值、75%分位数、较大值
quantile(iris$Sepal.Length) # 单个变量的1%、25%、50%、75%、100%分位数
quantile(iris$Sepal.Length, c(0.1, 0.3, 0.65)) # 指定分位点对应的分位数
mean(),median(),range() # 返回均值、中位数和数据的范畴
对付持续变量:
var() # 返回变量的方差
hist(iris$Sepal.Length) # 画出变量的直方图,看看变量的漫衍环境
plot(density(iris$Sepal.Length)) # 画出变量的密度函数图
对付种别变量:
table(iris$Species) # 统计每个类此外计数,相识一下各个类此外漫衍
pie(table(iris$Species)) # 画出每个类此外占比饼图
barplot(table(iris$Species)) # 画出柱状图
三、调查多个变量之间的干系
首先看看变量之间的相关性:
cov(iris[ , 1:4]) # 计较变量之间的协方差矩阵
cor(iris[ , 1:4]) # 计较变量之间的相干系数矩阵
然后研究一些在差异的方针变量程度下,某变量的根基环境:
aggregate(Sepal.Length~Spacies, summary, data=iris) # 对付Sepal.Length变量,在每个Species程度上执行summary计较
boxplot(Sepal.Length~Species, data=iris) # 针对每个Species程度绘制Sepal.Length的盒形图
with(iris, plot(Sepal.Length, Sepal.Width, col=Species, pch=as.numeric(Species))) #针对每个Species程度绘制两个变量的散点图,并用颜色和点状区分
plot(jitter(iris$Sepal.Length), jitter(iris$Sepal.Width))
接着用图形的方法研究变量之间的干系:
pairs(iris) # 绘制任意两个矩阵之间的散点图,发明变量之间的相关性
四、看看其他方面
三维散点图:
library(scatterplot3d)
scatterplot3d(iris$Petal.Width, iris$Sepal.Length, iris$Sepal.Width)
结构相似性矩阵,用热图可视化样本之间的相似性:
distMatrix <- as.matrix(dist(iris[,1:4]))
heatmap(distMatrix)
以Sepal.Length和Sepal.Width为横纵坐标,分程度,以Petal.Width巨细为颜色,摸索数据之间的干系:
library(lattice)
levelplot(Petal.Width~Sepal.Length*Sepal.Width, iris, cuts=9,col.regions=grey.colors(10)[10:1])
以等高线的形式摸索数据的干系:
library(lattice)
filled.contour(volcano, color=terrain.colors, asp=1,plot.axes=contour(volcano, add=T))
画一顶帽子:
persp(volcano, theta = 25, phi = 30, expand = 0.5, col = “lightblue”)
平面坐标可视化,研究差异种别变量之间的差别:
library(MASS)
parcoord(iris[1:4], col=iris$Species)
还可以用别的一个函数实现
library(lattice)
parallelplot(~iris[1:4] | Species, data=iris)
最后先容一下ggplot2这个包,很是强悍,后续专门找一个晚上重点进修,一个简朴的例子:
按照Species的差异种别,绘制Sepal.Length和Sepal.Width的散点图。
library(ggplot2)
qplot(Sepal.Length, Sepal.Width, data=iris, facets=Species ~.)
五、生存图片
# save as a PDF file
pdf(“myPlot.pdf”)
x <- 1:50
plot(x, log(x))
graphics.off()
# Save as a postscript file
postscript(“myPlot2.ps”)
x <- -20:20
plot(x, x^2)
graphics.off()