美文网首页
R语言-3-数据结构_向量

R语言-3-数据结构_向量

作者: oo番茄oo | 来源:发表于2020-04-16 00:19 被阅读0次

一、向量

1、向量生成

(1)用c()逐一放到一起
(2)连续的数字用冒号“:”,注意不用加c

(3)有重复的用rep(),有规律的序列用seq(),随机数用rnom

(4) 通过组合,产生更为复杂的向量

2、对单个向量操作

(1)赋值给一个变量名
向量是由元素构成的
(2)简单数学计算
(3)根据某条件进行判断,生成逻辑值向量 ==
(4)初级统计

> x <- c(1,3,5,2)
> max(x)
[1] 5
> min(x)
[1] 1
> x <- c(1,3,5,2)
> max(x)
[1] 5
> min(x)
[1] 1
> mean(x)
[1] 2.75
> median(x)
[1] 2.5
> var(x)#方差
[1] 2.916667
> sd(x)#标准差
[1] 1.707825
> sum(x)#总和
[1] 11
> length(x)#向量的长度,即向量中元素的个数
[1] 4
> unique(x)#去重复,只保留第一次出现的
[1] 1 3 5 2
> duplicated(x)#是否重复出现过,输出是逻辑值
[1] FALSE FALSE FALSE FALSE
> !duplicated(x)#输出反结果
[1] TRUE TRUE TRUE TRUE
> table(x)#重复值统计
x
1 2 3 5 
1 1 1 1 
> sort(x)#从小到大排序
[1] 1 2 3 5

3、对两个向量操作

(1)逻辑值比较,生成等长的逻辑向量

> x=c(1,3,5,1)
> y=c(3,2,5,6)
> x==y
[1] FALSE FALSE  TRUE FALSE
> #2.3
> x=c(1,3,5,1)
> y=c(3,2,5,6)
> x==y #对应位置比较
[1] FALSE FALSE  TRUE FALSE
> x %in% y #x的元素是否在y中
[1] FALSE  TRUE  TRUE FALSE

(2)数学计算

> x+y
[1]  4  5 10  7

(3)连接

> paste(x,y,sep = ":")#xy一对一连接,连接符号是:
[1] "1:3" "3:2" "5:5" "1:6"

(4)交集、并集、差集

> intersect(x,y)#交集
[1] 3 5
> union(x,y)#并集,自动进行去重复
[1] 1 3 5 2 6
> setdiff(x,y)#差集,x有y无
[1] 1
> setdiff(y,x)#差集,y有x无
[1] 2 6

(5)当向量长度不一致时用到“循环补齐”,短的补长的,可以简化代码,可以不用for循环

> paste0(rep("gene",3),1:3)
[1] "gene1" "gene2" "gene3"
> paste0("gene",1:3)
[1] "gene1" "gene2" "gene3"

4、向量筛选[ ]

(1)根据逻辑值 将TRUE对应的值挑选出来,FALSE丢弃,要求逻辑值的长度和被取值向量的长度相同
(2)根据位置 x[c(2,5)],x[2:4],[ ]中数字代表元素下标

5、修改元素

取子集+赋值

6、向量排序

 x <- c("A","B","C","D","E")
 y <- c("B","D","E","A","C")

(1)sort 从小到大

> sort(y)
[1] "A" "B" "C" "D" "E"

(2)rev 倒序写出

rev(x)
[1] "E" "D" "C" "B" "A"
rev(y)#倒序排列
[1] "C" "A" "E" "D" "B"

(3)order

> order(x)
[1] 1 2 3 4 5
> order(y) 返回位置是排序的
[1] 4 1 5 2 3

解释:第一小值在y的第四位A,第二小值在y的第一位D,第三小值在y的第五位C,第四小值在y的第二位D,第五小值在y的第三位E
(4)rank

> rank(x) 在组内排序再返回
[1] 1 2 3 4 5
> rank(y)
[1] 2 4 5 1 3

对y解释,y的第一个值B是整组排序第二位,第二个值D是整组排序第四位,第三个值E是整组排序第五位
(5)match

> #若想根据x的顺序排y
> match(x,y)
[1] 4 1 5 2 3#输出的是x顺序的y的下标
> y[match(x,y)]
[1] "A" "B" "C" "D" "E"#安装x的顺序排列y

解释:y的第四位是x的第一位,y的第一位是x的第二位,y的第五位是x的第三位,y的第二位是x的第四位,y的第三位是x的第五位

> match(y,x)#按照y的顺序排列x
[1] 2 4 5 1 3
> x[match(y,x)]
[1] "B" "D" "E" "A" "C"

相关文章

  • R语言的数据结构(包含向量和向量化详细解释)

    更多内容请参考《R语言编程艺术》——————————————— 向量类型是R语言的核心。深入理解向量对R中数据结构...

  • 《学习小组Day5笔记--寒鹤》

    R语言之数据结构 今天的学习内容是R语言的数据结构。R语言的数据结构主要有向量(vector),矩阵(matrix...

  • Python和R的异同(一)

    注 <- 对应R, = 对应Python R语言基本数据结构是向量,支持向量化操作。Python不支持向量化 R和...

  • R语言-3-数据结构_向量

    一、向量 1、向量生成 (1)用c()逐一放到一起(2)连续的数字用冒号“:”,注意不用加c (3)有重复的用re...

  • 学习小组Day5笔记--卜小云

    R的数据结构 R是面向对象的一门语言 向量 vector 数值型向量 numeric、字符型向量characte...

  • Day5

    R语言 数据结构 1 向量 1.1 给向量赋值 (1)R的赋值符号不是等号,而是<-(2)在Console 控制台...

  • R语言之基础

    一:R语言之基本数据结构 1. 向量 向量是 R 语言中最基本的数据类型,在 R 中没有单独的标量(例如 1 本质...

  • 生信学习小组Day5笔记-lamyusam_

    R语言学习 今天,了解了R中的数据类型,初步学习R语言的数据结构。 R的数据类型 向量(vector) R语言中的...

  • Day5—刘强

    R语言的数据结构 数据类型 R语言主要数据类型如下: 向量(vector) 矩阵(Matrix) 数组(Array...

  • R语言-0基础学习4-实战1-常见操作

    R语言学习系列R语言-0基础学习1-数据结构R语言-0基础学习2-构建子集R语言-0基础学习3-循环排序信息处理函...

网友评论

      本文标题:R语言-3-数据结构_向量

      本文链接:https://www.haomeiwen.com/subject/ghkdmhtx.html