R语言:基础数据类型和数据结构

随着R语言开发的深入,不得不对R中基础的数据类型进行深入了解。

[size=large]0. 数据类型,主要有以下几个类型[/size]
logical, integer, double, complex, character, or raw.
可以根据as.nameOfType()和is.nameOfType来进行转化和真值判断。

[size=large]1. 数据结构[/size]

[size=medium]1.1 向量(Vectors)[/size]
[b]class(vector)的结果为相对应的数据类型[/b]
[size=medium] 1.1.1 使用c()构造向量[/size]
 p <- c(2,3,5,7)

[size=medium]1.1.2 当向量索引增加时,向量自动增加。[/size]

for(i in 1:length(p)){
p[i] <- i
}

[size=medium]1.1.3 使用seq()构造向量[/size]
se<-seq(1,10,1)


[size=medium]1.2 数组(Arrays) [/size]
[b]class(array)的结果为“array”[/b]
[size=medium]1.2.1 使用array(vector, num=length(vector), dimname)构造数组[/size]
arr<-array(vec,5,"test")

[size=medium]1.3 列表(lists)[/size]
是general form的一种向量,但是可以包含不同的数据类型。这里list比较像C中的struct数据结构。
[b]class(list)的结果为“list”[/b]

[size=medium]1.3.1 使用list()构造列表[/size]
a <- list(name="Joe", 4, foo=c(3,8,9))

[size=medium]1.3.2 使用a[[num]]来提取列表中某一栏数据[/size]
a[[1]]等价于a$name

如果超出list的长度,则会显示错误。 如:a[[4]]

[size=medium]1.4 矩阵(matrices)[/size]
在R语言中,没有固定的矩阵数据类型,他是通过对多个向量的组合形成的。
[b] class(matrix)的结果为“matrix”[/b]
[size=medium]1.4.1 使用array()构造矩阵[/size]
通过array()构造的矩阵可以增加矩阵的维度。
 m1 <- array( c(1,2,3,4,5,6), dim=c(2,3) )
m2 <- array(data=c(firstMatrix,secondMatrix),dim=c(rownumber,columnnumber,2))

[size=medium]1.4.2 使用matrix()构造矩阵[/size]
   y <- matrix(c(1:9), nrow = 3, ncol = 3)

[size=medium]1.4.3 使用cbind()和rbind构造矩阵[/size]
PE <- c(0,0,0,0,1,0,0)
EE <- c(0,0,0,0,1,0,0)
SN <- c(0,0,0,0,1,0,0)
FC <- c(0,0,0,0,0,1,1)
BI <- c(0,0,0,0,0,1,1)
UF <- c(0,0,0,0,0,0,0)
TU <- c(0,0,0,0,0,0,0)
utaut.inner <- cbind(PE,EE,SN,FC,BI,UF,TU)


[size=medium]1.5 数据框(data.frame)[/size]
从其他语言中理解来说,就是数据库中的表(table),Excel中的表(sheet)。表中的列就是字段,变量;表中的行就是记录,样本。
class(utaut)的结果为“data.frame”
[size=medium]1.5.1 使用read.table()构造数据框[/size]
在之前的博客中已经介绍过一些方法,如read.csv()等
http://penergy.iteye.com/blog/2042719

[size=medium]1.5.2 使用data.frame()构造数据框[/size]
x <- 1:4; n <- 10; M <- c(10, 35); y <- 2:4
frame1<-data.frame(x, n)
xtest<-frame1$x //返回向量(vectors)数据结构


[size=medium]1.6 因子(factor)[/size]
为处理分类数据提供的一种有效方法

//假定我们有一份来自澳大利亚所有州和行政区的信息样本 以及他们各自所在地的州名。
state <- c("tas", "sa", "qld", "nsw", "nsw", "nt")
//创建因子factor:
statef <- factor(state)
statef
[1] tas sa qld nsw nsw nt
Levels: nsw nt qld sa tas


2. 总结
这一篇主要是讲述基本数据结构和数据类型。在下一期会讲解如何使用这些数据结构,比如矩阵运算,向量运算等。

参考:
[url]http://blog.fens.me/rhadoop-r-basic/[/url]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值