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

R语言学习笔记(五):零碎知识点(11-15)的更多相关文章

  1. Go语言学习笔记五: 条件语句

    Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: pa ...

  2. R语言学习笔记(五)绘图(1)

      R是一个惊艳的图形构建平台,这也是R语言的强大之处.本文将分享R语言简单的绘图命令.   本文所使用的数据或者来自R语言自带的数据(mtcars)或者自行创建.   首先,让我们来看一个简单例子: ...

  3. R语言学习笔记:基础知识

    1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) ...

  4. R语言学习 第五篇:字符串操作

    文本数据存储在字符向量中,字符向量的每个元素都是字符串,而非单独的字符.在R中,可以使用双引号,或单引号表示字符. 一,字符串中的字符数量 函数nchar()用于获得字符串中的字符数量: > s ...

  5. R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...

  6. R语言学习笔记-机器学习1-3章

    在折腾完爬虫还有一些感兴趣的内容后,我最近在看用R语言进行简单机器学习的知识,主要参考了<机器学习-实用案例解析>这本书. 这本书是目前市面少有的,纯粹以R语言为基础讲解的机器学习知识,书 ...

  7. R语言学习笔记(二)

    今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...

  8. R语言学习笔记:小试R环境

    买了三本R语言的书,同时使用来学习R语言,粗略翻下来感觉第一本最好: <R语言编程艺术>The Art of R Programming <R语言初学者使用>A Beginne ...

  9. R语言学习笔记:sort、rank、order、arrange排序函数

    R语言中排序有几个基本函数:sort().rank().order().arrange() 一.总结 sort()函数是对向量进行从小到大的排序 rank()函数返回的是对向量中每个数值对应的秩 or ...

  10. R语言学习笔记:使用reshape2包实现整合与重构

    R语言中提供了许多用来整合和重塑数据的强大方法. 整合 aggregate 重塑 reshape 在整合数据时,往往将多组观测值替换为根据这些观测计算的描述统计量. 在重塑数据时,则会通过修改数据的结 ...

随机推荐

  1. PB调用C#编写的DLL

    C#以其简单易用,功能强大深受大家喜爱.PowerBuilder作为C/S的MIS开发工具,十分简单灵活,开发时间短,开发及维护成本低,一直是中小企业信息管理系统的首选开发工具.但是PB的局限性限制了 ...

  2. Python3条件控制语句

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. if语句 if 条件: 代码块 elif 条件: 代码块 else: 代码块 python中用elif ...

  3. Hybris ECP(Enterprise Commerce Platform)的调试

    This blog is written to demonstrate how to setup debug environment for Hybris ECP(Enterprise Commerc ...

  4. 【转】Dalvik虚拟机的启动过程分析

    在Android系统中,应用程序进程都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的.Zygote进程在启动时会创建一个Dalvik虚拟机实例,每当它孵化一个新的应用程序进程 ...

  5. P2382 化学分子式

    luogu的oier化学一定都很好 这个题是让我们模拟计算化学方程式的过程. 和时间复杂度类似的题目. 我们可以根据括号,将求解分成若干个步骤. 从外部看,需要将一对括号看做一个整体.然后进行计算. ...

  6. 【洛谷P2607】[ZJOI2008]骑士

    骑士 题目链接 这道题一看,似乎和舞会是一样的,然而它并没有保证是一棵树 但是,对于每个连通块,必有相同的点数和边数,这样的图一定是一棵树上加一条边 这条边一定回使图中形成一个环,这种图貌似叫“基环树 ...

  7. 【luogu P2455 [SDOI2006]线性方程组】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2455 无解:最后一列对应元素不为0,前面全是0. 无穷解:一行全是0. 嗯...在消元过程中不要直接拿矩阵元 ...

  8. 基础算法之Dijkstra最短路径

    核心思想:以起始原点为中心,想外层扩展,知道扩展到重点为止. 设到A点的最短路径上,A点前驱节点为B,则该路径包含到达节点B的最短路径. S集合代表已经探索过的节点,U集合表示未探索过的节点. 时间复 ...

  9. Git使用(一)

    声明: 第一次使用git,只能保证我的方法可以用,肯定不是最简最好的.以后需要用到更多的用法的时候再来这里更新. 说实话,记下来主要是因为自己记性不好,各种配置记不住,都是当备忘录用的,(囧囧囧囧囧) ...

  10. mysql 统一字符编码

    配置文件中的注释可以有中文,但是配置项中不能出现中文 #在mysql的解压目录下,新建my.ini,然后配置 #1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效 [mysql ...