美文网首页
R语言:数据结构与向量

R语言:数据结构与向量

作者: yhh_hygge | 来源:发表于2020-05-09 20:41 被阅读0次

    一、数据结构

    <img src="https://raw.githubusercontent.com/yhhhygge/img/master/img20200510172712.png" alt="数据结构" style="zoom: 50%;" />

    • 数据框约等于“表格”
    • 向量则是数据框单独拿出的一列,视为一个整体。
    • 一个向量只能有一种数据类型,可以有重复值。

    ".Rdata"/".history" 文件

    <img src="https://raw.githubusercontent.com/yhhhygge/img/master/img20200510172625.png" alt="配置文件" style="zoom:50%;" />

    二、向量

    🌟2.1向量的生成

    (1)用 c()逐一放到一起

    > c(2,5,6,2,9)
    > c("a","f","md","b")
    

    (2)连续的数字用冒号**”:”

    **

    > 1:5
    

    (3)有重复的用rep(),有规律的序列用seq(),随机数用rnorm > rep("gene",times=3)

    > seq(from=3,to=21,by=3)
    > rnorm(n=3) 
    

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

    > paste0(rep("gene",times=3),1:3)
    

    🌟2.2对单个向量进行的操作

    (1)赋值给一个变量名

    > x=c(1,3,5,6,2) #随意的写法 
    > x
    > x<-c(1,3,5) #规范的赋值符号
    > x
    

    赋值+输出一起执行(两种方法):

    > (x <- c(1,3,5))
    > x <- c(1,3,5);x
    

    (2)简单数学计算

    > x<-c(1,3,5,1)
    > x
    [1] 1 3 5 1
    > x+1 
    [1] 2 4 6 2
    > log(x) 
    [1] 0.000000 1.098612 1.609438 0.000000 
    > sqrt(x) 
    [1] 1.000000 1.732051 2.236068 1.000000
    

    (3)根据某条件进行判断,生成逻辑值向量

    > x>3
    [1] FALSE FALSE TRUE FALSE 
    > x==3 
    [1] FALSE TRUE FALSE FALSE
    

    (4)初级统计

    > max(x) #最大值
    [1] 5
    > min(x) #最小值
    [1] 1
    > mean(x) #均值
    [1] 2.5
    > median(x) #中位数
    [1] 2
    > var(x) #方差
    [1] 3.666667
    > sd(x) #标准差
    [1] 1.914854
    > sum(x) #总和
    [1] 10
    
    > length(x) #长度
    [1] 4
    > unique(x) #去重复
    [1] 1 3 5
    > duplicated(x) #对应元素是否重复
    [1] FALSE FALSE FALSE  TRUE
    > table(x) #重复值统计
    x
    1 3 5 
    2 1 1 
    > sort(x)
    [1] 1 1 3 5
    

    2.3.对两个向量进行的操作

    > x = c(1,3,5,1)
    > y = c(3,2,5,6)
    

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

    > 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=":")
    [1] "1:3" "3:2" "5:5" "1:6"
    

    (4)交集、并集、差集

    <img src="https://raw.githubusercontent.com/yhhhygge/img/master/img20200510172723.png" alt="image-20200509142310026" style="zoom:40%;" />

    > intersect(x,y)
    [1] 3 5
    > union(x,y)
    [1] 1 3 5 2 6
    > setdiff(x,y)#差集;x在前,x里面有,y没有
    [1] 1
    > setdiff(y,x)#差集;y在前,y里面有,x没有
    [1] 2 6
    

    谁在前谁就是老大(setdiff)。

    🌟当两个向量长度不一致

    > x = c(1,3,5,6,2)
    > y = c(3,2,5)
    

    x == y,循环补齐

    <img src="https://raw.githubusercontent.com/yhhhygge/img/master/img20200510172729.png" alt="循环补齐" style="zoom:25%;" />

    利用循环补齐简化代码

    > paste0(rep("gene",3),1:3)
    > paste0("gene",1:3)
    

    谁长谁是老大(循环补齐)。

    [图片上传失败...(image-70cf21-1589114495296)]

    相关文章

      网友评论

          本文标题:R语言:数据结构与向量

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