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

最新文章

  1. 华为5G空口新技术(2015年)
  2. 浏览器对于常见HTTP状态码的反应
  3. Android中的Context
  4. 利用scale9sprite制作动态聊天背景
  5. 20145215《Java程序设计》第6周学习总结
  6. 安装coreseek找不到mysql
  7. php获取文件创建时间、修改时间
  8. Android 不同应用通过SharedPreference实现共享数据
  9. MySql 使用正则表达式
  10. astyle代码格式化
  11. linux shadowsocket 安装和启动
  12. python笔记二(mysql数据库操作)
  13. P1345 [USACO5.4]奶牛的电信Telecowmunication
  14. 筛选最小值---verilog
  15. appium-电脑连不上手机设备如何解决
  16. uboot——git代码仓
  17. java-IO流(File对象-深度遍历指定目录下的文件夹和文件)
  18. NOIP2017 列队——动态开点线段树
  19. 使用pyquery是遇到的一个403的问题
  20. $watch

热门文章

  1. ORACLE_DELETE
  2. vue v-on 带参事件
  3. java--final 类在程序中的影响
  4. ubuntu桌面
  5. 设计模式——代理模式(Proxy Pattern)
  6. FFT抄袭笔记
  7. echarts图表与可视窗口的自适应
  8. Linux下安装jdk步骤
  9. SpringMVC学习记录五——功能开发及参数处理
  10. intellij idea下载安装以及创建项目(输出Hello World)