• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap