R foundmental

摘要: 与SAS不同的是,SAS有数据步和过程步,而R拥有诸多的数据结构(向量,矩阵,数组,数据框),通过函数在这些数据结构上进行统计分析和创建图形。在这一点上,R与SAS的PROC IML过程步很相似。

   与SAS不同的是,SAS有数据步和过程步,而R拥有诸多的数据结构(向量,矩阵,数组,数据框),通过函数在这些数据结构上进行统计分析和创建图形。在这一点上,R与SAS的PROC IML过程步很相似。

这部分描述如何向R中输入或者导入数据,如何为统计分析做准备。涵盖了R数据结构,导入数据(从Excel,SPSS,SAS,Stata和ASCII文本文件),从键盘输入数据,创建一个与数据库管理系统交互的界面,导出数据(到Excel,SPSS,SAS,Stata和制表符分隔的文本文件),标注数据(变量标签和值标签)与列出数据。此外,介绍了丢失数据与数据值的处理方法。

 

1.数据类型

R 有许多的数据类型,包括标量、向量(数值型、字符型和逻辑型)、矩阵、数据框和列表。

 

1.1向量

a <- c(1,2,5.3,6,-2,4)  #数值型向量
b <- c("one","two","three")  #
字符型向量
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE)  #
逻辑型向量

用下标引用向量的元素:

a[c(2,4)]  #向量的第2和第4个元素

 

1.2矩阵

矩阵中的所有列必须有相同的模式(数值型、字符型等)和相同的长度。 一般格式为:

mymatrix <- matrix(vector, nrow=r, ncol=c, byrow=FALSE, 
   dimnames=list(
char_vector_rownames, char_vector_colnames))

byrow=TRUE表示矩阵按行填充数据,byrow=FALSE表示矩阵按列填充数据。

#生成一个5 X 4 的数值型矩阵
y<-matrix(1:20, nrow=5,ncol=4)


#另一个实例
cells <- c(1,26,24,68)

rnames <- c("R1", "R2")
cnames <- c("C1", "C2") 
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
  dimnames=list(rnames, cnames))

用下标标志矩阵的行、列和元素:

x[,4] #矩阵的第4列元素
x[3,] 
#矩阵的第2行元素
x[2:4,1:3] #
矩阵中列号为1,2,3,行号为2,3,4的元素。

 

1.3数组

数组与矩阵相似,但是维度可以大于2 可通过help(array) 查看更想详细的信息。

 

1.4数据框

数据框的概念较矩阵更为一般,不同列可以包含不同的模式(数值型、字符型、因子等) 。她与 SAS  SPSS 的数据集类似。

d <- c(1,2,3,4)
e <- c("red", "white", "red", NA)

f <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(d,e,f)
names(mydata) <- c("ID","Color","Passed") #列名

定义数据框中元素的方法有很多。

 

用下标来标志数据框中的行、列和元素:

myframe[3:5] #选择数据框的第3,4,5
myframe[c("ID","Age")] #
选择 数据框中的ID和年龄列
myframe$X1 #
选择数据框中的 x1

 

1.5列表

一些对象的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。

#本例创建一个列表,其中有4个成份:一个字符串、一个数值型向量、一个矩阵和一个标量
w <- list(name="Fred", mynumbers=a, mymatrix=y, age=5.3)

 

#本例创建一个包含两个子列表的列表
v <- c(list1,list2)

 

[[]]这种约定标志来标记列表的成份:

mylist[[2]] #列表中的第2个成份
mylist[["mynumbers"]] #
列表中名为“mynumbers”的成份

 

1.6因子

名义变量(nominal varialbles)在R中成为因子。函数factor() 以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部变量将映射到这些整数上。

#性别变量有20个“male”实体和30个“female”实体
gender <- c(rep("male",20), rep("female", 30))
 
gender <- factor(gender) 

#将性别存储为201302,并在内部将这些值关联为1=female,2=male(具体赋值根据字母顺序而定)。R将其作为名义型变量对待。
summary(gender)

 

一个有序因子用来表示一个有序型变量:

#变量rating被编码为"large", "medium", "small"
rating <- ordered(rating)

rating 重新编码为12,3,并将这些值与"large", "medium", "small"进行关联。

# 1=large, 2=medium, 3=small

# R将其作为有序型变量对待。

 

在统计过程与图形分析中,将名义型变量和有序型变量作为因子对待。你可以使用 factor( )  ordered( ) 函数中的选项来控制整数值到字符串的映射(重写字母表的顺序)。 你也使用因子来创建值标签。更多关于因子的内容请参照 UCLA page.

 

1.7其他实用函数

length(object) #显示对象中元素/成份的数量
str(object)    
#显示某个对象的结构
class(object)  #
显示某个对象的类或者类型
names(object)  #
显示某个对象中各成份的名称

c(object,object,...) #
将对象合并入一个向量
cbind(object, object, ...) # 
按列合并对象
rbind(object, object, ...) 
#按行合并对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值