尝试使用R语言进行数据处理

安装R

进入 https://www.r-project.org 下载安装包即可.

安装包,载入包的命令

安装包

1
install.packages("mlbench")

载入包

1
2
library(mlbench)

更新所有包

1
update.packages(ask=FALSE, checkBuilt=TRUE)

导入数据集

1
dataset <- read.csv("C:\\R\\bin\\iris.csv", header=FALSE)

概要分析

显示头10行

1
head(dataset,n=10)
1
2
3
4
5
6
7
8
9
10
11
    V1  V2  V3  V4          V5
1 5.1 3.5 1.4 0.2 Iris-setosa
2 4.9 3.0 1.4 0.2 Iris-setosa
3 4.7 3.2 1.3 0.2 Iris-setosa
4 4.6 3.1 1.5 0.2 Iris-setosa
5 5.0 3.6 1.4 0.2 Iris-setosa
6 5.4 3.9 1.7 0.4 Iris-setosa
7 4.6 3.4 1.4 0.3 Iris-setosa
8 5.0 3.4 1.5 0.2 Iris-setosa
9 4.4 2.9 1.4 0.2 Iris-setosa
10 4.9 3.1 1.5 0.1 Iris-setosa

显示数据集的每类样本所占比例

1
2
3
4
library(mlbench)
data(PimaIndiansDiabetes)
y <- PimaIndiansDiabetes$diabetes
cbind(freq=table(y), percentage=prop.table(table(y))*100)
1
2
3
    freq percentage
neg 500 65.10417
pos 268 34.89583

每个属性的值的分布情况

1
summary(dataset)
1
2
3
4
5
6
7
8
9
10
11
      V1              V2              V3              V4       
Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
Median :5.800 Median :3.000 Median :4.350 Median :1.300
Mean :5.843 Mean :3.054 Mean :3.759 Mean :1.199
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
V5
Length:150
Class :character
Mode :character

可视化数据属性

箱线盒

1
2
3
4
5
6
7
# 加载数据集
data(iris)
# 为每个属性创建单独的框线图
par(mfrow=c(1,4))
for(i in 1:4) {
boxplot(iris[,i], main=names(iris)[i])
}

柱状图

1
2
3
4
5
data(iris)
par(mfrow=c(1,4))
for(i in 1:4) {
hist(iris[,i], main=names(iris)[i])
}

曲线图

1
2
3
4
5
6
library(lattice)
data(iris)
par(mfrow=c(1,4))
for(i in 1:4) {
plot(density(iris[,i]), main=names(iris)[i])
}

条形图

1
2
3
4
5
6
7
8
9
library(mlbench)
data(BreastCancer)
# 为每个分类属性创建条形图
par(mfrow=c(2,4))
for(i in 2:9) {
counts <- table(BreastCancer[,i])
name <- names(BreastCancer)[i]
barplot(counts, main=name)
}

相关图

1
2
3
4
5
6
7
8
# 加载程序包
library(corrplot)
# 加载数据
data(iris)
# 计算相关性
correlations <- cor(iris[,1:4])
# 创建相关图
corrplot(correlations, method="circle")

散点图

1
2
3
4
5
# 加载数据
data(iris)
# 按类别着色的成对散点图
pairs(Species~., data=iris, col=iris$Species)

密度图

1
2
3
4
5
6
7
8
9
# 加载程序包
library(caret)
# 加载数据
data(iris)
# 按类值为每个属性绘制密度图
x <- iris[,1:4]
y <- iris[,5]
scales <- list(x=list(relation="free"), y=list(relation="free"))
featurePlot(x=x, y=y, plot="density", scales=scales)

评论