R语言基础系列前情提要:

  • 1数据类型(向量、数组、矩阵、 列表和数据框)

  • 2读写数据所需的主要函数、与外部环境交互

  • 3数据筛选——提取对象的子集

Vectorized Operations

R中许多操作可以通过向量化变得更加简洁。

例如将两个向量加在一起:

> x <- 1:4
> y <- 6:9
> z <- x + y
> z
[1]  7  9 11 13

相比写循环更加简便:

> x <- 1:4
> y <- 6:9
> w <- numeric(length(x))
> for(i in seq_along(x)) {
+ w[i] <- x[i] + y[i]
+ }
> w
[1]  5  7  9 11

另外还可以有其他运算:

> x <- 1:4
> y <- 6:9
> x - y
[1] -5 -5 -5 -5
> x * y
[1]  6 14 24 36
> x / y
[1] 0.1666667 0.2857143 0.3750000 0.4444444

类似地,对矩阵也可以有相似的操作:

注: x*yx/y 是两个矩阵相应元素之间的乘除, x%*%y 是矩阵乘法的符号。

> x <- matrix(1:4, 2, 2)
> y <- matrix(rep(10, 4), 2, 2)
> x[,1] [,2]
[1,]    1    3
[2,]    2    4
> y[,1] [,2]
[1,]   10   10
[2,]   10   10
>
> ## element-wise multiplication
> x * y       [,1] [,2]
[1,]   10   30
[2,]   20   40
>
> ## element-wise division
> x / y       [,1] [,2]
[1,]  0.1  0.3
[2,]  0.2  0.4
>
> ## true matrix multiplication
> x %*% y     [,1] [,2]
[1,]   40   40
[2,]   60   60

参考资料:

  1. https://bookdown.org/rdpeng/rprogdatascience/R Programming for Data Science

  2. 《R语言实战》 Robert I. Kabacoff

快快和我一起上车,请关注:生信小白学习记

猜你喜欢

  • 热文:1高分文章 2不可或缺的人 3图表规范

  • 一文读懂:1微生物组 2寄生虫益处 3进化树

  • 必备技能:1提问 2搜索  3Endnote

  • 文献阅读 1热心肠 2SemanticScholar 3geenmedical

  • 扩增子分析:1图表解读 2分析流程 3统计绘图  4功能预测

  • 科研经验:1云笔记  2云协作 3公众号

  • 系列教程:1Biostar 2微生物组  3宏基因组

  • 生物科普 1肠道细菌 2人体上的生命 3生命大跃进  4细胞的暗战 5人体奥秘

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外120+ PI,1200+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

R语言笔记4:向量、矩阵的数学运算相关推荐

  1. R语言使用单个向量创建矩阵数据、通过byrow参数指定从向量转化为矩阵的过程中的数据排布方式

    R语言使用单个向量创建矩阵数据.通过byrow参数指定从向量转化为矩阵的过程中的数据排布方式 目录 R语言使用单个向量创建矩阵数据.通过byrow参数指定从向量转化为矩阵的过程中的数据排布方式 R语言 ...

  2. r语言提取列名_R语言基础(2)向量|矩阵|数组|数据框|数据IO|实用函数

    "pythonic生物人"的第85篇分享. 本文梳理R语言数据结构:向量.矩阵.数据框: 数据IO及实用函数. 本文速览

  3. R语言笔记8:两个重要函数——用来分解数据框的split和用来查看对象的str

    R语言基础系列: 你知道R中的赋值符号箭头(<-)和等号(=)的区别吗? 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 ...

  4. R语言笔记7:认识循环函数、lapply和sapply

    R语言基础系列: 你知道R中的赋值符号箭头(<-)和等号(=)的区别吗? 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 ...

  5. R语言笔记6:在R中写一些简单的函数、functions基础和作用域

    R语言基础系列: 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 4向量.矩阵的数学运算 5控制结构 Your first R ...

  6. R语言笔记5:控制结构

    R语言基础系列前情提要: 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 4:向量.矩阵的数学运算 Control Struct ...

  7. r语言中删除向量的某些元素_R中的向量

    r语言中删除向量的某些元素 Vectors in R are the fundamental data types. This is because the R compiler treats all ...

  8. R语言如何向向量中追加一个元素?

    R语言如何向向量中追加一个元素? 目录 R语言如何向向量中追加一个元素? R语言是解决什么问题的? R语言如何向向量中追加一个元素? R语言是解决什么问题的? R 是一个有着统计分析功能及强大作图功能 ...

  9. 如何在R语言中建立六边形矩阵热图heatmap可视化

    原文链接:http://tecdat.cn/?p=18879 这是一个六边形热图可视化程序,主要用到的知识RColorBrewer,fields,也就是R中的可视化绘图库(点击文末"阅读原文 ...

  10. R语言自定义多分类混淆矩阵可视化函数(mutlti class confusion matrix)、R语言多分类混淆矩阵可视化

    R语言自定义多分类混淆矩阵可视化函数(mutlti class confusion matrix).R语言多分类混淆矩阵可视化 目录

最新文章

  1. 利用Jenkins的Pipeline实现集群自动化部署SpringBoot项目
  2. PMCAFF | 创业公司产品经理如何建立完善的产品开发体系?
  3. STL源码剖析 第七章 仿函数(函数对象)
  4. 深度学习 —— 深度前馈网络
  5. php 初始化model,TP5 model类研究
  6. 同步异步和阻塞非阻塞
  7. 【渝粤题库】陕西师范大学292231 财务管理Ⅱ 作业(专升本)
  8. python连接MongoDB,以及常用操作
  9. SQL必知必会第五版笔记
  10. vue后台管理框架(iview + vue)
  11. 英文参考文献格式引用方法分析
  12. wuauclt.exe进程和wuauclt病毒的查杀清理方法
  13. Typora保存文章到本地并查看源代码的方法(简)
  14. 海洋cms(海洋视频内容管理系统) v12.5 bulid220618
  15. 360极速了浏览器 HTML5的浏览器,360极速浏览器4大HTML5特性 领先全球
  16. vim 单行删除与多行删除
  17. 为什么你觉得信用卡负担越来越重了?那是你不会技巧!
  18. MySQL常用函数大全(面试篇)
  19. 记住回家的路-周国平
  20. 直觉模糊熵的多属性决策及matlab应用

热门文章

  1. 领域驱动设计,为何死灰复燃?
  2. 微服务该如何进行服务治理?
  3. 在leangoo里怎么设置背景,修改密码?
  4. Find函数使用语法
  5. 二叉树非递归遍历的经典求解
  6. java类型精度排序,Java中BigDecimal精度和相等比较的坑
  7. 后退N帧协议-GBN
  8. C++中基本的输入输出
  9. Zebra斑马打印机编程C#--入门级别打印
  10. slam开发|adb的用法一些总结