R语言总结分析Word格式.docx
《R语言总结分析Word格式.docx》由会员分享,可在线阅读,更多相关《R语言总结分析Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
,"
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<
R1"
R2"
);
cnames<
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<
A1"
A2"
dim2<
B1"
B2"
B3"
dim3<
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<
Type1"
Type2"
)#字符型;
status<
Poor"
Improved"
Excellent"
)#字符型
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<
)#定义定类向量diabetes
-factor(diabetes)#将向量diabetes储存为因子型数据,默认按按字母序进行分类
status<
-factor(status,ordered=TRUE)#按字母序将定序向量status定义为因子型数据,默认按字母序进行从低至高的排序,并用1、2、3……等正整数形式储存。
-factor(status,order=TRUE,levels=c("
"
))#使用levels()命令,指定向量的从低至高次序,并用1、2、3……等正整数形式储存。
或者:
●列表(List):
复杂的数据。
列表(List)是R中最复杂的数据结构,它是一系列数据对象的组合体,可将不同类型的数据对象置于同一数据名之下。
其函数为list(),格式如右:
mylist<
-list(object1,object2,…)
g<
-"
MyFirstList"
;
h<
-c(25,26,18,39);
j<
10,nrow=5);
k<
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("
/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="
用于指定待创建的