R语言总结分析.docx

上传人:b****3 文档编号:2849056 上传时间:2022-11-15 格式:DOCX 页数:26 大小:39.23KB
下载 相关 举报
R语言总结分析.docx_第1页
第1页 / 共26页
R语言总结分析.docx_第2页
第2页 / 共26页
R语言总结分析.docx_第3页
第3页 / 共26页
R语言总结分析.docx_第4页
第4页 / 共26页
R语言总结分析.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

R语言总结分析.docx

《R语言总结分析.docx》由会员分享,可在线阅读,更多相关《R语言总结分析.docx(26页珍藏版)》请在冰豆网上搜索。

R语言总结分析.docx

R语言总结分析

Lec00

##八、关于Markdown语言的简洁说明

1.一个#表示一级标题,二个#表示二级标题,依次类推;

2.空一段表示断行,而不是简单的敲一个回车表示断行;

3.*斜体*(一对星号)表示斜体,**加粗**(一对双星号)表示加粗;

4.Markdown语言兼容Latex语言。

可处理数学公式

Lec01

##1数据的基本形式

所有R处理的内容都叫对象(object)。

进行统计分析时,我们的对象自然就是数据(data)。

在R中,数据的基本格式分为以下5种:

标量(scalar),向量(vectors),矩阵(matrices),数据框(dataframes),因子(factors),及列表(lists)。

●所谓**向量**,就是一维的数值型、字符型或逻辑型数据的一维数组

a<-c(1,2,3,4,-2,-5,6)#数值型,其中c表示concatenate(连结,串联),c()称为combinefunction,<-表示赋值

a#显示向量a

b<-c("one","two","three")#字符型,需要使用“”

c<-c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE)#逻辑型

d<-c(1:

5)#:

表示产生一个系列,元素默认按列填充

●矩阵是一个二维数组,但要求其中的每个元素具有相同的模式(同为数值型、字符型或逻辑型)注意:

每个元素的数据格式必需相同.

y<-matrix(1:

20,nrow=4,ncol=5)#定义4行5列

y[1,];y[,2];y[1,2];y[1,c(2,3)];y[c(2,3),2]#显示矩阵y内的不同元素

####定义名为matrix1的2×2矩阵,定义行列名,按行填充

cells<-c(1,-2,3,-4);rnames<-c("R1","R2");cnames<-c("C1","C2")

matrix1<-matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames,cnames))

●数组(Array):

三维或高维数据。

数组与矩阵类似,但维度高于2维。

array()函数的格式为:

_array(vector,dimensions,dimnames)_,其中

*vector表示向量,

*dimensions表示每个维度下的向量“长度”(元素个数),

*dimnames表示维度名。

dim1<-c("A1","A2");dim2<-c("B1","B2","B3");dim3<-c("C1","C2","C3","C4")

z<-array(1:

24,c(2,3,4),dimnames=list(dim1,dim2,dim3))#c(2,3,4)中的数字,表示dim1,dim2,dim3的长度

●数据框(dataframe):

包含不同类型数据的数据。

数据框的数据形式,就是常见的excel,spss,stata中的数据表单形式,它可以用来同时储存多种不同模式的数据。

数据框函数:

*data.frame()function*,其格式如下:

*mydata<-data.frame(col1,col2,col3,…)*

其中,col1,col2,col3,…是任意类型的列向量名(需提前定义)。

patientID<-c(1,2,3,4)#数值型向量;age<-c(25,34,28,52)#数值型向量;diabetes<-c("Type1","Type2","Type1","Type1")#字符型;status<-c("Poor","Improved","Excellent","Poor")#字符型

patientdata<-data.frame(patientID,age,diabetes,status,row.names=patientID)#以上述向量,建立数据框

上述命令中,row.names=patientID为指定“实例标识符”(caseidentifier)。

设定此选项后,使用row.names(patientdata)命令,就可以以patientID为标记输出各个体的编号(ID)。

####观测与变量

patientdata[1:

2]#显示数据框中的第1至2列(第1至2个变量)

patientdata[2,4]#显示第2行第4列的数据

patientdata[c("diabetes","status")]#显示数据框中的指定列(变量)

patientdata$age#“$”符号表示使用数据框中的某一变量,结果以行方式呈现。

一般地,“A$x”表示“数据据A中的变量x”.

####绑定数据框

每次使用数据框时,都使用“$”的方式,显得太过麻烦。

为此,可事先绑定某一数据,此后即使省略这一符号的方式使用数据框中的变量,待分析完这一数据框后再解除绑定。

命令:

attach,detach

attach(mtcars)#绑定数据mtcars,该数据为R自带数据

str(patientdata)#str()函数用于给出数据数据对象的信息

summary(mpg)#提供mpg变量的五数概要(Fivenumbersummary)即最小值(Min)、第1四位数(1stQuartile)、中位数(Median)、第3四分位数(3rdQuartile)和最大值(Max)。

plot(mpg,disp)#绘制mpg,disp两个变量的二维散点图

detach(mtcars)#解除绑定

attach命令的缺陷在于,如果同时使用了不同的数据框,或者变量的命名有重复,则会出现错误。

为避免这一不足,可使用with()命令进行数据框绑定。

with(mtcars,{summary(mpg,disp,wt)plot(mpg,disp)plot(mpg,wt)})

只要保证输入的命令在with()函数内,则不论前面是否有定义重名的变量,均可以只针对with()内的数据框进行处理。

●因子(factor)在R中,定类数据(nominaldata)和定序数据(ordinaldata)称为因子。

R中使用factor()函数储存因子型数据。

diabetes<-c("Type1","Type2","Type1","Type1")#定义定类向量diabetes

diabetes<-factor(diabetes)#将向量diabetes储存为因子型数据,默认按按字母序进行分类

status<-c("Poor","Improved","Excellent","Poor")

status<-factor(status,ordered=TRUE)#按字母序将定序向量status定义为因子型数据,默认按字母序进行从低至高的排序,并用1、2、3……等正整数形式储存。

status<-factor(status,order=TRUE,levels=c("Poor","Improved","Excellent"))#使用levels()命令,指定向量的从低至高次序,并用1、2、3……等正整数形式储存。

或者:

status<-factor(status,order=TRUE,levels=c("Poor","Improved","Excellent"))#使用levels()命令,指定向量的从低至高次序,并用1、2、3……等正整数形式储存。

●列表(List):

复杂的数据。

列表(List)是R中最复杂的数据结构,它是一系列数据对象的组合体,可将不同类型的数据对象置于同一数据名之下。

其函数为list(),格式如右:

mylist<-list(object1,object2,…)

g<-"MyFirstList";h<-c(25,26,18,39);j<-matrix(1:

10,nrow=5);k<-c("one","two","three")

mylist<-list(title=g,ages=h,j,k)

mylist[[2]]#显示列表中第2个数据对象

mylist[["ages"]]#显示指定名称的数据对象

##数据的导入

⏹###直接输入

smalldata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))

#smalldata<-edit(smalldata)#在编辑器中编辑数据

其中,类似age=numeric(0)表示建立指定模式、但不包含实际数据的变量。

⏹###从带分隔符的文本文件中导入数据

使用read.table函数。

注意“带分隔符的文本文件”的含义csv。

grades<-read.table("students.csv",header=T,sep=",")

其中,sep=""表示分隔符的类型。

如sep="\t"表示制表符;sep=""表示空格或回车。

默认情况下,字符型变量会转变为因子。

如果不想让R这么做,那么可以设置选项stringsAsFactor=FAlSE,这可停止对此类变量的转换。

更多的内容,可使用help(read.table)了解。

⏹###导入excel数据

方法1:

间接读入法(推荐)将excel数据存为csv文件,然后再使用read.table调用。

方法2:

直接读入法(不推荐读入中文文件)如果想直接调用excel文件(2007以上),可使用read.xlsx(filename,n)函数,其中filename表示文件名(包含路径名),n表示要导入的工作表序号。

library(xlsx);students<-"D:

/xkdog/statsoft/R2014/R2014fall/students.xlsx"

students1<-read.xlsx(students,1)

提醒:

中文读入容易出现乱码,不建议直接使用此方法,而是建议使用方法1,此时读入的中文不会出现乱码。

⏹###导入spss数据

使用foreign包中的read.spss()函数或Hmisc包中的spss.get()函数读入.sav文件,推荐后面一个函数。

library(foreign)

read.spss("D:

/xkdog/statsoft/R2014/course/accidents.sav",use.value.labels=T,to.data.frame=T)#显示为dataframe格式,推荐使用

或者library(Hmisc)

spssdata<-spss.get("accidents.sav",use.value.labels=T)

⏹###导入stata数据

使用foreing包中的read.dta()函数。

library(foreign);chore<-read.dta("chore.dta")

##导出R软件中的数据

●###导出为文本文件

使用utils包中的write.table()函数,格式为write.table(x,file="",sep=""),其中x表示等写入的对象(一般指数据框或矩阵),file="用于指定待创建的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1