美文网首页
R语言基础学习1

R语言基础学习1

作者: 7f0a92cda77c | 来源:发表于2021-06-19 22:54 被阅读0次
    1 向量的生成方式有几种
    #(1)用c()逐一放到一起
    m <- c(1,4,5,7)
    m
    [1] 1 4 5 7
    #(2)连续的数字用冒号”:”
    1:10
    #(3)有重复的用rep(),有规律的序列用seq(),随机数用rnorm
    rnorm(n=6)
    [1] -1.1194494 -2.2245769  1.1971504 -1.4088681
    [5]  0.7447397 -1.1469720
    #(4)通过组合,产生更为复杂的向量。
    paste0(rep("sample"),seq(from = 5, to = 30, by = 5))
    [1] "sample5"  "sample10" "sample15" "sample20"
    [5] "sample25" "sample30"
    

    2 数据类型转换的优先顺序

    c(TRUE,FALSE,4) 
    #[1] 1 0 4
    c(1,"a")
    #[1] "1" "a"
    c(TRUE,"a")
    #[1] "TRUE" "a"
    

    3 向量操作

    3.1 对单个向量进行的操作
    (1)赋值给一个变量名
    m <- c(1,4,5,7)#赋值符号,快捷键Alt 加-
    
    (2)简单数学计算
    log(m)
    
    (3)根据某条件进行判断,生成逻辑值向量
    m==4
    
    (4)初级数学统计
    max(x) #最大值
    min(x) #最小值
    mean(x) #均值
    median(x) #中位数
    var(x) #方差
    sd(x) #标准差
    sum(x) #总和
    
    (4)长度,去重复,重复值统计,排序操作
    length(x) #长度
    unique(x) #去重复
    duplicated(x)
    table(x) #重复值统计
    sort(x) sort(x,decreasing=T)
    
    3.2 对两个向量的操作
    (1)逻辑比较,生成等长的逻辑向量
    x == y####    x 和对应位置的y 相等吗?循环短的,得到最长的那个
    x %in% y #x的元素是否在y中;X长度可以任意
    x <- c(1,3,5,6,2,9)
    y <- c(2,3,4)
    x %in% y #生成的向量个数是和前者相等的
    #[1] FALSE  TRUE FALSE FALSE  TRUE FALSE
    y%in%x
    #[1]  TRUE  TRUE FALSE
    
    (2)数学计算
    x/y
    #[1] 0.5000000 1.0000000 1.2500000 3.0000000 0.6666667 2.2500000
    
    (3)连接
    paste(x,y,sep=":") #分割符号
    [1] "1:2" "3:3" "5:4" "6:2" "2:3" "9:4"
    
    (4)交集、并集、差集
    intersect(x,y)
    #[1] 3 2
    union(x,y)
    #[1] 1 3 5 6 2 9 4
    setdiff(x,y)
    #[1] 1 5 6 9
    setdiff(y,x)#
    #[1] 4
    
    4 向量筛选(取子集)
    4.1 [ ]:将TRUE对应的值挑选出来,FALSE丢弃
    x <- 1:50 
    x[x<7]
    
    4.2 向量筛选(取子集) [ ]:根据位置
    x[8]
    
    按照逻辑值:中括号里是与x等长的逻辑值向量
    按照位置:中括号里是由x的下标组成的向量
    5 如何修改向量中的某个/某些元素?
    x[8] <- 99
    x[8]
    #[1] 99
    

    6 向量匹配排序-match

    match(x, table, nomatch = NA_integer_, incomparables = NULL)match: An integer vector giving the position in table of the first match if there is a match, otherwise nomatch.

    返回的是x在table中的位置整数---A vector of the same length as x.
    Gene number does not correlate with Complexity

    x <- c("A","B","C","D","E")
    y <- c("B","D","E","A","C")
    
    match(x,y)
    #[1] 4 1 5 2 3
    y[match(x,y)] #y按照x的顺序重新排序
    #[1] "A" "B" "C" "D" "E"
    
    

    https://mp.weixin.qq.com/s/2eJPrT7lz562vX0ij4gfVg
    所有来源和记录来自生信菜鸟团,不产生任何利益冲突,笔记-自己理解所用

    相关文章

      网友评论

          本文标题:R语言基础学习1

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