当前位置:   article > 正文

r语言 c50算法包,R语言数据分析必备

语言可懂度 c50

一. 加载模块包

install.packages("tidyverse")

library(tidyverse)

其他方法

# initial settings

libary_path

dir.create(libary_path,showWarnings = FALSE)

.libPaths(libary_path)

if(!require(testthat)){

install.packages("testthat")

library(testthat)

}

if(!require(repr)){

install.packages("repr")

library(repr)

}

if(!require(MASS)){

install.packages("MASS")

library(MASS)

}

if(!require(gclus)){

install.packages("gclus")

library(gclus)

}

if(!require(GGally)){

install.packages("GGally")

library(GGally)

}

if(!require(ggcorrplot)){

install.packages("ggcorrplot")

library(ggcorrplot)

}

if(!require(tidyverse)){

install.packages("tidyverse")

library(tidyverse)

}

# Plot size deppening on your screen resolution to 4 x 3

options(repr.plot.width=4, repr.plot.height=3)

方法1:将数据和文件放置在同一文件夹下直接读取

rt

方法2:设置路径后读取

#读取txt数据

setwd("D:\\data")

rt

方法3:弹窗手动选择数据

data

data

方法4:直接路径读取数据

data

方法5:复制表格内容

#右键复制表格内容后输入如下代码 以便导入复制在内存中数据:

data=read.table("clipboard",sep="\t",header = T)

查看数据

View(data)

str(data)

summary(data)

查看行和列的个数是(多少行 多少列)

dim(data)

#结果是:1,2 这样1行2列

查看某列元素(不重复)

unique(data$列名)

unique(data[,1])

table(data[,2])

查看 列名 & 行名

names(data)

row.names(data)

设置 列名 & 行名

names(data) = c("A","B","C")

row.names(data)=c("A","B","C")

增加一列 总计

data$total=rowSums(data)

增加一行 总计

data[7,]=colSums(data)

#这里7表示行数+1,所以如下也可以

#data[nrow(data)+1,]=colSums(data)

#或者使用合并方法

#rbind(df1,colSums(data))

三. 数据处理

改变数值类型

for (i in 2:dim(df)[2]){

df[,i]=as.numeric(df[,i])}

取消科学计数,保留小数

options(scipen = 200)

去重查看

unique(data)

标准化("max-min"结果肯定大于0) 和 归一化(结果不一定大于0)

################# 自定义标准化 #####################################

normalize = function(x) {return ((x - min(x)) / (max(x) - min(x)))}

data[,-11]=normalize(data[,-11])

head(data)

##或者构造新的数据集

#data_Stand=as.data.frame(lapply(data[,-11],normalize))

#data_Stand$class=data$class

#head(data_Stand)

################# 归一化函数包scale() #####################################

#第11列是标签列(目标列)

data[,-11]=scale(data[,-11])

#scale(x, center = TRUE, scale = TRUE)

View(data)

处理查看空缺值

################## Processing "NAN" ##################

na_flag = apply(is.na(data), 2, sum)

View(na_flag)

#删掉所在行

dataset

na_flag = apply(is.na(dataset), 2, sum)

View(na_flag)

盖帽法替换异常值

############################### 数据处理 #####################

#绘制频率分布直方图

par(mfrow=c(2,5))

for(i in 1:10)

{

hist(data[,i],main=paste(names(data)[i],"的频率分布直方图"),xlab=NA)

}

#绘制箱线图检验离群值

par(mfrow=c(2,5))

for(i in 1:10)

{

boxplot(data[i],main=paste(names(data)[i],"的箱线图"))

}

#或者另一种方法绘制箱线图检验离群值

par(mfrow=c(1,1))

boxplot(data[,-11])

###### 绘制散点图 #######

##par(mfrow=c(4,4))

##for(i in 2:17)

##{

##plot(data[,i],main=paste(names(data)[i],"的散点图"),xlab=NA,ylab=NA)

##}

#######################

#采用盖帽法替换异常值,用10%处的数据覆盖分布在10%以下的数据,用90%处的数据覆盖分布在99%以上的数据。

#这里的10%和90%取值有些极端,及供参考。

block

if(lower){

q1

x[x<=q1]

}

if(upper){

q99

x[x>q99]

}

return(x)

}

data[,-11] = sapply(data[,-11],block)

par(mfrow=c(1,1))

boxplot(data[,-11],frame = T)

str(data)

head(data)

相关图

##### 绘制替换异常值后的相关图 ##########

#相关系数cor

b=cor(data[,-11])

b

#安装ggpubr包可视化

#install.packages("ggpubr")

#install.packages("corrplot")

library("corrplot")

par(mfrow=c(1,1))

corrplot(b)

#或通过饼图查看相关性

corrplot(b,method="pie")

#用颜色显示,同时显示相关系数。

corrplot(b,method="color",addCoef.col="grey")

#显示数字,增强图形可读性。

col=colorRampPalette(c("navy", "white", "firebrick3")) #设置颜色

corrplot(b,add=TRUE, type="lower", method="number",diag=FALSE,tl.pos="n", cl.pos="n",col=col(10))

#绘制变量间相关性多图混合

par(mfrow=c(1,1))

library(PerformanceAnalytics)

chart.Correlation(data[,-11])

关于日期

#选定日期

start=as.Date("2020-1-22",'%Y-%m-%d'

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/131401
推荐阅读
相关标签
  

闽ICP备14008679号