• R语言学习笔记(五):零碎知识点(11-15)


    11--which.min(), which.max()和which()

    which(x, arr.ind = FALSE, useNames = TRUE)

    • x 是一个向量或者数组,可以是NA,但会省略掉,相当于FALSE。
    • arr.ind = FALSE 当x是数组时,是否返回数组索引(arr.ind = array indices)

    which(), which.max(), which.min()返回的是位置

    > which(2:10 > 3)
    [1] 3 4 5 6 7 8 9
    > m <- matrix(1:12, 3, 4)
    > div.3 <- m %% 3 == 0
    > which(div.3)
    [1]  3  6  9 12
    > which(div.3, arr.ind = TRUE)
         row col
    [1,]   3   1
    [2,]   3   2
    [3,]   3   3
    [4,]   3   4
    > which.max(2:4)
    [1] 3
    

    12--意外降维(dimension reduction)

    提取矩阵中的一行得到向量格式,使用drop参数则可以避免此情况。

    > a <- matrix(1:12, ncol = 3)
    > b <- a[,1]
    > b
    [1] 1 2 3 4
    > class(b)
    [1] "integer"
    > c <- a[,1, drop = F]
    > c
         [,1]
    [1,]    1
    [2,]    2
    [3,]    3
    [4,]    4
    > class(c)
    [1] "matrix"
    

    13--列表的递归

    列表是可以递归的(recursive),即,列表的组件也可以是列表。

    b <- list(u = 5, v = 12)
    c <- list(w = 13)
    a <- list(b, c)
    a
    [[1]]
    [[1]]$u  #此处的 [[1]] 即为b的名字,因为没有给b赋予名字,默认为1
    [1] 5
    
    [[1]]$v
    [1] 12
    
    
    [[2]]
    [[2]]$w   #此处的 [[2]] 同上
    [1] 13
    

    14--列表的降维

    • unlist 可以获取列表的 值,返回一个向量。
    • 拼接函数c()在拼接列表时默认得到的还是列表
    • 有一个可选参数recursive,即是否把所有组件元素提取出来,组合成一个向量
    • recursive 仅对列表有效。
    > b <- list(u = 5, v = 12)
    > unlist(b)
     u  v 
     5 12 
    > c(b)
    $u
    [1] 5
    
    $v
    [1] 12
    
    > c(b,recursive = T)
     u  v 
     5 12 
    

    15--预先设定空向量

    在编写函数时往往需要预先设定一个指定的空向量,这时vector()可以指定它的长度以及类型。

    > a <- vector(length = 3, mode = 'character')
    > a
    [1] "" "" ""
    > vector(length = 3, mode = 'list')
    [[1]]
    NULL
    
    [[2]]
    NULL
    
    [[3]]
    NULL
    
  • 相关阅读:
    知识积累
    来西安对吗
    python循环语句---------while、for
    postman接口功能测试
    Laravel环境搭建
    Vue
    搭建Vue.js环境
    Atom
    PHP
    thinkphp-无限分类下根据任意部门获取顶级部门ID
  • 原文地址:https://www.cnblogs.com/xihehe/p/7474232.html
Copyright © 2020-2023  润新知