• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言-六大数据结构

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

R语言有六种基本的数据结构(或者说数据类型吧)。根据数据的维度同质/异质可分为5种数据类型,最后再介绍一种特殊的类型“因子”。

  同质 异质
1维 原子向量 列表
2维 矩阵 数据框
n维 数组  

对于各种类型的具体操作,本文不展开讲。本文仅介绍它们各自的一些生成方式。

 (1)原子向量

一个有趣的事情:R中最小的单位并不是“数”,而是“向量”。

例如:

> n=5
> is.vector(n)   #判断n的数据类型是否为向量
[1] TRUE

对于生成一个向量,我们可以有多种方式:

> 1:6
[1] 1 2 3 4 5 6
> 8:3
[1] 8 7 6 5 4 3
> seq(2,9,by=3)
[1] 2 5 8
> c(9,4,5)
[1] 9 4 5

(2)列表

列表可以包含数字、字符串、向量,甚至是列表、矩阵、函数。由list()创建。

> a=list(1,c(5,2,3),'sfd',T,list(1,3))
> a
[[1]]
[1] 1

[[2]]
[1] 5 2 3

[[3]]
[1] "sfd"

[[4]]
[1] TRUE

[[5]]
[[5]][[1]]
[1] 1

[[5]][[2]]
[1] 3

(3)矩阵

二维。由matrix()创建。

> a=matrix(seq(0,10,by=0.9),nrow=4,byrow=TRUE)  #行数为4;按行输入(缺省按列输入)
> a
     [,1] [,2] [,3]
[1,]  0.0  0.9  1.8
[2,]  2.7  3.6  4.5
[3,]  5.4  6.3  7.2
[4,]  8.1  9.0  9.9

(4)数据框

数据帧(Data Frame,有人也叫数据框)也是二维结构,其中每一列包含一个变量的所有值。
数据帧的性质:

  • 行名称唯一。
  • 列名称非空。
  • 存储在数据帧中的数据可以是数字,因子或字符类型。
  • 每列应包含相同数量的数据项。(保证其为二维结构)

生成数据帧由data.frame()创建。

> a=data.frame(name=c('Mike','Jane','King','Tom'),height=c(160,155,166,159),weight=c(65,48,55,53))
> a
  name height weight
1 Mike    160     65
2 Jane    155     48
3 King    166     55
4  Tom    159     53

(5)数组

数组可以是多维的。由函数array()创建。

> a=array(c(1,4,5,6,7),dim=c(4,3,2))
> a
, , 1

     [,1] [,2] [,3]
[1,]    1    7    6
[2,]    4    1    7
[3,]    5    4    1
[4,]    6    5    4

, , 2

     [,1] [,2] [,3]
[1,]    5    4    1
[2,]    6    5    4
[3,]    7    6    5
[4,]    1    7    6

(6)因子

因子是用于对数据进行分类并将其存储为级别的数据对象。 它们可以存储字符串和整数。 它们在具有有限数量的唯一值的列中很有用。 像“男性”,“女性”和True,False等。它们在统计建模的数据分析中很有用。
使用factor()函数通过将向量作为输入创建因子。

> a=c(T,F,F,T,T,T,F)
> a
[1]  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE
> factor(a)
[1] TRUE  FALSE FALSE TRUE  TRUE  TRUE  FALSE
Levels: FALSE TRUE

也可由数据帧创建因子:

> a=data.frame(name=c('Mike','Jane','King','Tom'),height=c(160,155,166,159),weight=c(65,48,55,53))
> a
  name height weight
1 Mike    160     65
2 Jane    155     48
3 King    166     55
4  Tom    159     53
> a$name
[1] Mike Jane King Tom 
Levels: Jane King Mike Tom

 


 

参考资料:

1.《高级R语言编程指南》哈德利·威克汉姆(Hadley Wickham)著

2.  https://www.w3cschool.cn/r/        R语言教程_w3cscool


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
相关性分析作图(热图+数值)/(直方图+数值)R语言发布时间:2022-07-22
下一篇:
【菜鸟入门R语言】独立t检验发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap