R语言基础代码

浏览: 1627

1.探索性数据分析

install.packages("MASS") 

library(MASS)

data(Insurance)#获取数据集

View(Insurance)

nrow(Insurance);ncol(Insurance)#显示数据集行列数

dim(Insurance)#显示维度,效果同上

head(Insurance) #输出前几条

attributes(Insurance)

str(Insurance)

summary(Insurance)

install.packages("Hmisc") 

library(Hmisc)

describe(Insurance[,1:3])

describe(Insurance[,4:5])

install.packages("fBasics") 

library(fBasics)

library(timeDate)

library(timeSeries)

basicStats(Insurance$Holders)

   #偏度和峰度

install.packages("timeDate") 

library(timeDate)

skewness(Insurance[,4:5])#偏度

kurtosis(Insurance[,4:5])#峰度

install.packages("Matrix") 

library(Matrix)

#相关性

cor(Insurance$Holders,Insurance$Claims)

plot(Insurance$Holders,Insurance$Claims)

#可视化分析

hist(Insurance$Claims,main='索赔量频率直方图')

hist(Insurance$Claims,freq=FALSE,density=20,main='索赔量密度直方图')

lines(density(Insurance$Claims))

str(hist(Insurance$Claims,breaks=20,labels=TRUE,col="black",border="white",

main="索赔量20组频率直方图"))

#2.weather数据集分析

install.packages("rattle") 

library(rattle)

data(weather)#获取数据集

View(weather)

data("stackloss")

str(stackloss)

head(stackloss)

tail(stackloss)

mat_stackloss <- as.matrix(stackloss)

# 各列均值

apply(mat_stackloss, 2, sum) / dim(mat_stackloss)[1]

# 各列四分位数

apply(mat_stackloss, 2, quantile)

# 各列方差

apply(mat_stackloss, 2, var)

# 各列标准差

apply(mat_stackloss, 2, sd)

# 两两之间协方差

cov(mat_stackloss[, 1:4])

# 7-2 ----

# 画出stackloss数据集中各变量的直方图、箱形图和散点图。

data("stackloss")

mat_stackloss <- as.matrix(stackloss)

opar = par(no.readonly = TRUE)

par(mfrow = c(2, 2))

# 直方图

apply(mat_stackloss, 2, hist)

# 箱型图

apply(mat_stackloss, 2, boxplot)

# 散点图

apply(mat_stackloss, 2, plot)

par(opar)

2:使用数据集mtcars

library (datasets)                           #mtcars在datasets包中

str(mtcars)                                  #显示mtcars的数据结构

export (mtcars, "mtcars.csv")                #把数据框导出到文件

convert ("mtcars.csv", "mtcars.json")        #转换文件类型

head (import("mtcars.json"))                 #显示导入的头几条数据

unlink("mtcars.json")                        #从当前工作目录中删除给定文件

#因变量am,自变量hp和wt,数据集mtcars,二项式分布

am.glm <- glm (formula=am ~ hp + wt, data=mtcars, family=binomial) 

newdata <- data.frame (hp=120, wt=2.8) 

predict (am.glm, newdata, type="response") 

summary (am.glm)

#逻辑回归模型

am.glm <- glm (formula=am ~ hp + wt, data=mtcars, family=binomial)

summary(am.glm)

predict <- predict (am.glm, type = 'response')

#混淆矩阵

table (predict > 0.5, mtcars$am)

#设置训练集和测试集

train <- mtcars[1:22,]

test <- mtcars[23:32,]

#设置迭代次数<=100

am.glm <- glm (formula=am ~ hp + wt, data=train, family=binomial(link='logit'), control=list(maxit=100)) 

#用模型来预测

predict <- predict (am.glm, data.frame(test),type = 'response')

table (predict > 0.5, test$am)

1.#绘制wt与mpg的散点图

data(mtcars)

attach(mtcars)

View(mtcars)

summary(mtcars)

par(mfrow=c(2,2))#设置画图模式2x2的格式

hist(mpg) #绘制直方图

hist(log(mpg))#取对数

boxplot(mpg~vs)#箱线图

boxplot(mpg~am)

boxplot(mpg~carb)

boxplot(mpg~cyl)

par(mfrow=c(1,1))#设置画图模式1的格式

pairs(mtcars[,c(1:7,11)])#散点图

plot(wt,mpg,pch=17,col="blue")

abline(lm(mpg~wt),lty2,col="red")

title("mpg对wt的回归")

#多元回归

lm1=lm(mpg~wt+disp+cyl+hp+drat+qsec+gear+carb+am+vs)

summary(lm1)

lm2=lm(mpg~wt+drat+qsec+gear+carb+am+vs)

summary(lm2)

l<-list(mtcars,a,b)

summary(l)

summary(l[[1]])

数据的属性分析

变量cyl(汽缸数)为属性变量, 命令

table(cyl)#告诉我们变量cyl取3个值:4,6,8,相应的频数为11, 7, 14

barplot(table(cyl)) #显示了cyl的频数直方图.

barplot(cyl)#在此不适用, 它仅适用于数值型变量

2.数值型数据的分析

画茎叶图(stem-and-leaf plot),

stem(mpg)

hist(mpg)#画直方图

boxplot(mpg)

#按分组变量cyl计算mpg的分组平均值

tapply(mpg,cyl,mean)

计算cyl为4的那些mpg的平均值, 命令为

mean(mpg[cyl == 4])

#计算样本常用的分位数: 极小、极大、中位数及两个四分位数, 命令为

quantile(mpg)

或者

fivenum(mpg)

plot(cyl,mpg)

plot(hp,mpg)

plot(hp,mpg,pch=cyl)

方法二:attach(mtcars)

plot(wt,mpg,pch=17,col="blue")

fm<-lm(mpg~wt)

abline(fm,lty=5,col="red")

2.#查询并使

用pairs和scatterplotMatrix函数绘制mpg + disp + drat + wt四者之间的散点图矩阵

pairs(~mpg+disp+drat+wt,data=mtcars)

pairs(~mpg+disp+drat+wt,data=mtcars)

library(carData)

library(car)

scatterplotMatrix(~mpg+disp+drat+wt,data=mtcars)

3.#使用rgl包中的plot3d绘制wt+disp+mpg三者的3D图

install.packages("rgl")

library(rgl)

install.packages("corrgram")

library(corrgram)

open3d()

plot3d(wt,disp,mpg)

corrgram(mtcars, order=TRUE, lower.panel=panel.shade, upper.panel=panel.conf,text.panel=panel.txt)

hist(mtcars$mpg)

4.#利用corrgram包中的corrgram()函数创建相关系数矩阵,并绘制相关系数图

install.packages("corrgram")

library(corrgram)

corrgram(mtcars,order=TRUE,lower.panel=panel.shade,

+  upper.panel=panel.pie, text.panel=panel.txt,

+ main="Correlogram of mtcars intercorrelations")

5.# 绘制mpg的直方图

attach(mtcars)

mpg

hist(mpg)

推荐 0
本文由 DDlucky 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册