前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据结构(部分内容)

数据结构(部分内容)

原创
作者头像
用户8284892
发布2023-03-08 22:51:26
2970
发布2023-03-08 22:51:26
举报

有哪些数据结构

元素:单一一个数据

向量:一系列数据的合集,一个向量中只能含有一种数据类型。

数据框:多组向量组合成的列表形式,一列为一个向量,每一列之间的数据类型可以不同。

向量

函数c(),括号里是向量中的元素

代码语言:txt
复制
c(1,2,3,4,4,7,4)
c('a','asd','x')

在向量中放入大量连续数字可用:

代码语言:txt
复制
a <- c(1:20)
---------
> a
 [1]  1  2  3  4  5  6  7  8  9 10 11 12
[13] 13 14 15 16 17 18 19 20

生成重复元素可用rep()

代码语言:txt
复制
> b <- rep("x",times = 10)
> b
 [1] "x" "x" "x" "x" "x" "x" "x" "x" "x"
[10] "x"

生成有规律的一系列数据seq()

代码语言:txt
复制
> c <-seq(from =1,to =20,by=3)  #from为起始数,to为截止数,by为步长
> c
[1]  1  4  7 10 13 16 19

生成随机数rnorm()

代码语言:txt
复制
> rnorm(5) #括号中的数字代表生成多少个随机数
[1] -0.4294591  0.7380404  1.4849288
[4] -0.4250045 -0.8248760

向量组合

paste0()paste()

代码语言:txt
复制
> paste0(rep('x',times=3),c(1:3))
[1] "x1" "x2" "x3"
> paste(rep('x',times=3),c(1:3))
[1] "x 1" "x 2" "x 3"

paste0()和paste()的区别为,paste()函数中有一个参数为sep=" ",意为以空格为间隔组合(默认)。而paste0()是无缝组合。

paste0函数中,逗号前的rep('x',times=3)会生成三个x的向量,逗号后的c(1:3)会生成一个1到3的向量,paste0函数的作用就是将这两个向量已平行的方式组合在一起

x

x

x

1

2

3

循环补齐

如果逗号前后的向量中的元素数量不一致,短的向量会进行循环补齐

代码语言:txt
复制
> paste0(rep('x',times=3),c(1:5))
[1] "x1" "x2" "x3" "x4" "x5"
> paste0(rep('x',times=8),c(1:3))
[1] "x1" "x2" "x3" "x1" "x2" "x3" "x1"
[8] "x2"

第一个代码产生的效果为:

x

x

x

x

x

1

2

3

4

5

第二个代码产生的效果为:

x

x

x

x

x

x

x

x

1

2

3

1

2

3

1

2

交集、并集、差集

交集:intersect()

代码语言:txt
复制
> x <- c(1,2,5,6,3)
> y <- c(2,8,4,9,5)
> intersect(x,y)
[1] 2 5

并集:union()

代码语言:txt
复制
> x <- c(1,2,5,6,3)
> y <- c(2,8,4,9,5)
> intersect(x,y)
[1] 2 5
> union(x,y)
[1] 1 2 5 6 3 8 4 9

差集:setdiff()

代码语言:txt
复制
> x <- c(1,2,5,6,3)
> y <- c(2,8,4,9,5)
> intersect(x,y)
[1] 2 5
> union(x,y)
[1] 1 2 5 6 3 8 4 9
> setdiff(x,y)  #x中与y不同的元素
[1] 1 6 3
> setdiff(y,x)  #y中与x不同的元素
[1] 8 4 9

%in%

代码语言:txt
复制
> x <- c(1,2,5,6,3)
> y <- c(2,8,4,9,5)
> x %in% y  #x中的每一个元素在y中是否存在
[1] FALSE  TRUE  TRUE FALSE FALSE
> y %in% x  #y中的每一个元素在x中是否存在
[1]  TRUE FALSE FALSE FALSE  TRUE

%in%是一种遍历的比较,比如说x%in%y,是x中的每一个元素依次对y中的所有元素比较一遍;y%in%x同理,是y中的每一个元素依次对x中的所有元素比较一遍.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 有哪些数据结构
  • 向量
  • 向量组合
    • 循环补齐
      • 交集、并集、差集
        • %in%
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档