R语言学习详解(2)

2018-12-11 21:21

x=c(42,7,64,9) #建立数据向量x y=1:4 #建立数据向量y 1、直接法

z.df=data.frame(INDEX=y,VALUE=x) #建立一个2列变量的数据集,放入z.df weight<-c(70.6,56.4,80,59.5) #建立数据向量weight x<-c(\ #建立字符向量x

wag<-data.frame(weight,age=x) #构建数据集,变量数据长度不同时,会自动循环填充数据

x<-1:4; y<-2:4 #建立数据向量x,y

data.frame(x,y) #若变量长度不是一个周期,则出现错误 2、从外部数据文件读取

foo<-read.table(file=\

适用于数据集的函数:

attach(Puromycin) #激活数据集

summary(Puromycin) #显示主要的描述性统计量

类似的统计计算函数max(),min(),median(),var(),sd(),sum(),cov(),cor()同样适合于数据集,意义相同。

pairs(Puromycin, panel=panel.smooth) #成对数据散点图

数据集下标与子集的提取:

Puromycin[1,1] #提取第一个变量第一个观测值

Puromycin[c(1,3,5),c(1,3)] #提取数据集的一个子集(第1、3、5行观测值,第1、3列变量)

Puromycin[c(1,3,5),c(\等价于上述命令Puromycin[c(1,3,5),c(1,3)] Puromycin[c(1,3,5),] #提取数据集的第1、3、5行观测值,所有列 Puromycin$conc #等价于Puromycin[,1],提取变量为conc的那列值

subset(Puromycin,state==\ #提取满足条件state为treated,rate>16的子集

数据集中添加新变量的三种方法: 若想增加新变量iconc=1/conc: 1、基本方法

Puromycin$iconc<-1/ Puromycin$conc 2、使用with()函数

Puromycin$iconc<-with(Puromycin,1/conc)

3、使用transform()函数,可一次定义多个变量

Puromycin <-transform(Puromycin,iconc=1/conc,sqrtconc=sqrt(conc)) head(Puromycin) #显示头6行数据

列表的建立:

复杂数据分析需要生成包含不同类型的对象。R的列表可以做到 L1<-list(1:6,matrix(1:4,nrow=2)) #建立向量和矩阵的混合列表

L2<-list(x=1:6,y=matrix(1:4,nrow=2)) #建立向量和矩阵的混合列表,并各自赋名 L2$x #显示L2中的x变量

数据的存储

d<-data.frame(obs=c(1,2,3),treat=c(\ #建立数据集 1、 保存为简单的文本文件

write.table(d,file= \ #这里quote表示变量名不放入双引号中

2、 保存为csv格式的文本文件

write.csv(d,file= \3、 保存为R格式文件

save(d,file= \保存工作空间映像

save.image() #等价于下式

save(list=ls(all=TRUE),file=\

数据的读取

1、 使用函数read.table()

setwd(\ #设置程序自动访问目录

HousePrice<-read.table(file=\2、 使用函数scan()

函数scan()比read.table()更灵活,可以指定变量的类型。另外,scan()可以创建不同的对象:向量、矩阵、数据集、列表等。

mydata<-scan(\3、 使用函数read.fwf()

读取指定宽度格式的数据

mydata<-read.fwf(\4、 读取Excel数据

1) 从剪贴板读入数据。先将Excel的文件中的数据部分选择复制到剪贴板(ctrl+c),然

后用R读入

mydata<-read.delim(\2) 使用程序包RODBC

安装程序包RODBC 在R中,按步骤“程序包-安装程序包-选取CRAN镜像服务器(可选北京的)-RODBC”

library(RODBC) #加载程序包RODBC

z<-odbcConnectExcel(\ #打开Excel文件

foo<-sqlFetch(z,\ #选择Sheet1工作单数据读入foo close(z) #关闭Excel文件

R中数据集的读取

1) R的标准数据datasets

R自身包含了一个有100多个数据集的数据集包datasets,随着R一次性自动载入。 列出全部数据集 data()

用数据集名显示数据

Puromycin

2) 专用程序包中的数据集

读取其他已安装的专用程序包中的数据,可以使用package参数

data(package=\ #列出程序包pkname中的数据集,这里pkname只是一个已安装的程序包的代表

data(dataname,package=\ #载入程序包pkname中的数据集dataname

探索性数据分析

二项分布 n<-20 p<-0.2 k<-seq(0,n) 概率函数图

plot(k,dbinom(k,n,p),type='h',main='Binomial distribution,n=20,p=0.2',xlab='k') 分布函数图

plot(k,pbinom(k,n,p),type='h',main='Binomial distribution,n=20,p=0.2',xlab='k')

标准正态分布 密度函数图

curve(dnorm(x,0,1),xlim=c(-5,5),ylim=c(0,0.3),col='red',lwd=2,lty=3) 分布函数图

curve(pnorm(x,0,1),xlim=c(-10,10),ylim=c(0,1),col='red',lwd=2,lty=1)

直方图

从二项分布B(100,0.9)中抽取容量为N=100000的样本,画直方图 N<-100000 #建立随机数的容量 n<-100 #建立二项分布的试验数 p<-0.9 #建立每次成功的概率

x<-rbinom(N,n,p) #求出服从二项分布的随机数N个

hist(x,xlim=c(min(x),max(x)),probability=T,nclass=max(x)-min(x)+1,col='lightblue',main='Binomial distribution,n=100,p=.9') #直方图

lines(density(x,bw=1),col='red',lwd=2) #核密度估计图

单总体描述性统计 1、直方图

library(DAAG) #载入程序包DAAG data(possum) #载入数据集possum

fpossum<-possum[possum$sex==\ #选出性别为雌的负鼠数据放入fpossum中 par(mfrow=c(1,2)) #作图区域一分为二,一行两列 attach(fpossum) #加载数据集

hist(totlngth,breaks=72.5+(0:5)*5,ylim=c(0,22),xlab=\length\at 72.5,77.5,...\ #画直方图

hist(totlngth,breaks=75+(0:5)*5,ylim=c(0,22),xlab=\length\at

75,80,...\ #不同点位画直方图 2、茎叶图 stem(totlngth) 3、盒形图

boxplot(totlngth) 4、正态性检验 A)使用QQ图

qqnorm(totlngth,main=\ #画QQ图 qqline(totlngth,col='red') #画正态线 B)与正态密度函数比较

#attach(fpossum) #加载数据集

dens<-density(totlngth) #将totlngth的基本统计量存入dens变量 xlim<-range(dens$x);ylim<-range(dens$y) #选取x和y 的最大值

par(mfrow=c(1,2)) #将作图空间分为两个,一行两列 hist(totlngth,breaks=72.5+(0:5)*5,xlim=xlim,ylim=ylim,probability=T,xlab=\length\ #画直方图 lines(dens,col=par('fg'),lty=2) #画核密度函数 m<-mean(totlngth) #计算均值 s<-sd(totlngth) #计算标准差 curve(dnorm(x,m,s),col='red',add=T) #套用正态分布图

hist(totlngth,breaks=75+(0:5)*5,xlim=xlim,ylim=ylim,probability=T,xlab=\length\ #画直方图

lines(dens,col=par('fg'),lty=2) #画核密度函数 curve(dnorm(x,m,s),col='red',add=T) #套用正态分布图 C)使用经验分布函数

x<-sort(totlngth) #对totlgnth进行排序,存入x n<-length(x) #计算x中元素的个数 y<-(1:n)/n #y等分 m<-mean(totlngth) #计算均值 s<-sd(totlngth) #计算标准差

plot(x,y,type='s',main=\ #画出经验分布函数 curve(pnorm(x,m,s),col='red',lwd=2,add=T) #画出正态分布函数 5、总体描述

summary(totlngth) #得到数据的均值和四分位点及最大、最小、中位数 其他的函数见开头

多组数据描述性统计 1、散点图

library(DAAG) #将程序包DAAG载入 data(cars) #将数据集cars载入内存 画散点图

plot(cars$dist~cars$speed,xlab=\

非参数lowess拟合(二元以上用loess拟合)--局部加权回归散点平滑法(locally weighted scatterplot smoothing)

lines(lowess(cars$speed,cars$dist),lwd=2) #非参数lowess拟合

rug(side=2,jitter(cars$dist,20)) #在纵轴上标明数据的具体位置 rug(side=1,jitter(cars$speed,5)) #在横轴上标明数据的具体位置 这里jitter函数是对原有数据根据标准差做个白噪声影响。 2、等高线图

library(chplot) #载入程序包chplot data(hdr) #载入数据集hdr x<-hdr$age #年龄存入x y<-hdr$income #收入存入y

plot(x,y) #年龄和收入的散点图

library(MASS) #加载有二维密度估计函数kde2d()的程序包 z<-kde2d(x,y) #用二维密度估计函数估计二维数据的密度函数 画等高线

contour(z,col=\3、三维透视图

persp(z,main=\

数据变换

data(Animals) #载入数据集Animals head(Animals) #检查数据集内容 par(mfrow=c(1,2)) #将图分为两块

plot(brain~body,data=Animals) #画原始数据的散点图

plot(log(brain)~log(body),data=Animals) #画变换后数据的散点图

图形描述 n<-10

d<-data.frame(y1=abs(rnorm(n)),y2=abs(rnorm(n)),y3=abs(rnorm(n)),y4=abs(rnorm(n)),y5=abs(rnorm(n))) #建立一个由5个服从标准正态分布随机数的绝对值组成的数据集

plot(d) #多元散点图,等价于pairs(d) boxplot(d) #多变量比较的盒形图

描述性统计

summary(state.x77) #给出数据集state.x77的所有变量的描述性统计 分组概括函数aggregate

aggregate(state.x77,list(Region=state.region),mean) #给出按数据集state.region划分区域的state.x77各变量的均值

aggregate(state.x77,list(Region=state.region,Cold=state.x77[,\ #给出按数据集state.region划分区域且一年中有雾的天数超过130的来统计state.x77各变量的均值

apply(state.x77,2,sd) #给出所有变量的标准差,不推荐用sd(state.x77) var(state.x77) #给出数据集state.x77的所有变量的协方差矩阵

aggregate(state.x77,list(Region=state.region),sd) #给出按数据集state.region划分区域的state.x77各变量的标准差


R语言学习详解(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大教学论读后感

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: