阅读背景:

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

来源:互联网 
###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``` ###11--which.min(), which.max()和which()which(x,



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: