matrix 矩阵——只允许一种数据

data.frame 数据框——每列只允许一种数据类型

list 列表——各种都可

依据生成函数判断/用class 或i函数判断一下数据类型

一、数据框

新建数据框
df1 <- data.frame(gene   = paste0("gene",1:4),
                 change  = rep(c("up","down"),each = 2),
                 score   = c(5,3,-2,-4))
df1

读取数据框

df2 <- read.csv("gene.csv")
df2

数据框属性
#
dim(df1)###返回行和列
nrow(df1)###返回行
ncol(df1)###返回列
#
rownames(df1)###提取行名
colnames(df1)###提取列名

数据框取子集
df1$gene  #删掉score,按tab键试试
mean(df1$score)

## 按坐标
df1[2,2]
df1[2,]
df1[,2]
df1[c(1,3),1:2]
## 按名字
df1[,"gene"]
df1[,c('gene','change')]
## 按条件(逻辑值)
df1[df1$score>0,]

## 代码思维
#如何取数据框的最后一列?
df1[,3]
df1[,ncol(df1)]
#如何取数据框除了最后一列以外的其他列?
df1[,-ncol(df1)]

#筛选score > 0的基因
df1[df1$score > 0,1]
df1$gene[df1$score > 0]

数据框修改

#改一个格
df1[3,3] <- 5
df1
#改一整列
df1$score <- c(12,23,50,2)     
df1
#用修改的方式新增了一列
df1$p.value <- c(0.01,0.02,0.07,0.05)
df1

#改行名和列名
rownames(df1) <- c("r1","r2","r3","r4")
#只修改某一行/列的名
colnames(df1)[2] <- "CHANGE"

两个数据框的连接  ##merge函数
test1 <- data.frame(name = c('jimmy','nicker','Damon','Sophie'),
                    blood_type = c("A","B","O","AB"))
test1
test2 <- data.frame(name = c('Damon','jimmy','nicker','tony'),
                    group = c("group1","group1","group2","group2"),
                    vision = c(4.2,4.3,4.9,4.5))
test2

test3 <- data.frame(NAME = c('Damon','jimmy','nicker','tony'),
                    weight = c(140,145,110,138))
test3
merge(test1,test2,by="name")
merge(test1,test3,by.x = "name",by.y = "NAME")

二、矩阵和列表

矩阵不支持取子集,列表取子集要两重中括号

矩阵

m <- matrix(1:9, nrow = 3)
colnames(m) <- c("a","b","c") #加列名
m
m[2,]
m[,1]
m[2,3]
m[2:3,1:2]
m
t(m)
as.data.frame(m)

列表

l <- list(m1 = matrix(1:9, nrow = 3),
          m2 = matrix(2:9, nrow = 2))
l

l[[2]]
l$m1

补充:元素的名字

scores = c(100,59,73,95,45)
names(scores) = c("jimmy","nicker","Damon","Sophie","tony")
scores
scores["jimmy"]
scores[c("jimmy","nicker")]

names(scores)[scores>60]

# 删除变量
rm(l)
rm(df1,df2)

删除全部
rm(list = ls())

清空控制台

ctrl+l

class(l[2]) 结果:list
class(l[[2]])结果:matrix

生信技能树课程记录笔记(三)20220526相关推荐

  1. 生信技能树课程记录笔记(七)20220531

    一.数据框排序 法一:sort函数 默认升序. 例:sort(test$Sepal.Length) 法二:order函数 默认升序,返回数据下标组成的数组. 可以给向量排序,也可以给数据框排序 例:t ...

  2. R:生信技能树学习笔记一

    生信技能树小破站:R应该这样学1-4 1.查看已经安装的包的地址 .libPaths() 2.怎么查看函数用法 #在RStudio的右下角窗口的help可以看到 ?函数名 3.三个有用的函数 1.he ...

  3. R:生信技能树学习笔记二

    生信技能树小破站:R应该这样学5-7 1.热图 rm(list=ls()) library(pheatmap) a1=rnorm(100) dim(a1)=c(5,20) #设置维度 pheatmap ...

  4. CancerSubtypes包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)

    CancerSubtypes包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理,感谢Jimmy老师!) 1. 引言 2. 数据处理 2.1 基本处理 2.1.1 通过检查数据分布来分 ...

  5. ProTICS包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)

    ProTICS包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理,感谢Jimmy老师!) 1.设置环境 2.Part1的结果 3.Part2的结果 4.Part3的结果 5.相关函数 ...

  6. 生信技能树【代码大全搜录】

    生信技能术代码大全: rm(list = ls()) options()$repos options()$BioC_mirror #options(BioC_mirror="https:// ...

  7. TCGA学习笔记一(生信技能树概述版)

    1.背景介绍 重要数据 外显子数据 表达数据 小RNA测序数据 拷贝数芯片 甲基化数据 蛋白质组学数据 临床信息 癌症背景知识 网页工具大全 GDC cbioportal:按照paper来分类的 UC ...

  8. 菜鸟生信学习第三节笔记:plink常用功能

    plink由哈佛大学的Shaun Purcell开发的一个免费,开源的全基因组关联分析软件. 官网:PLINK 1.9 主要功能: 1.数据提取,合并.提取特定SNP.样本.基因组某段区域的基因型3. ...

  9. 生信技能树 电脑配置linux,生信技能树--Jimmy - Linux 20题

    一.在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列. 二.在创建好的文件夹下面,比如我的是 /Users/jimmy/tmp/1/2/3/4/5/6/7/8/9 ,里面 ...

最新文章

  1. “智享未来 知行合一”,开为科技AI产品发布会于2月6日召开
  2. 使用TortoiseGit,设置ssh方式连接git仓库。
  3. Android常见XML属性解析
  4. PL/SQL学习笔记-循环控制与顺序控制
  5. 获取jpg图片的x,y的分辨率dpi
  6. 2017.5.9 寻找道路 思考记录
  7. 智能排班系统、班次、班表、考勤、年假、调休、审批、请假、培训、值班、换班、加班、工时、自动排班、智能预测、人力需求预测、授权、团队、锁定量排、规则权重设置、菜单、角色、数据监控、工作台、axure
  8. 模板建网站-开源工具
  9. 【Tensorflow2.0】关于制作标签遇到的问题小结
  10. 三菱服务器显示rb是什么故障,​三菱伺服驱动器常见报警代码及解决办法
  11. 有意思的DCDC工作原理
  12. Google Earth Engine(GEE)基于哨兵数据计算植被覆盖度—以宁夏为例
  13. unity点光源消失
  14. Nordic新发布nRF21540与RFX2401C和CC2592性能对比
  15. [svn] TortoisSVN的Blam功能
  16. PHP处理CODE128C条形码数据为标准的打印机ESC指令
  17. java计算器rmi_用RMI计算Pi
  18. VTK学习-第一个多柱体生成
  19. k8s部署nginx例子
  20. 施耐德PLC TM218如何实现远程上传下载程序?

热门文章

  1. SAS应用入门学习笔记1
  2. 【SQL语言——SELECT查询操作】
  3. 物联网小项目智能家居(QT、MQTT、嵌入式开发板、Ubuntu)
  4. 网页中用快播qvod打开bt种子 在线播放
  5. [附源码]Python计算机毕业设计SSM基于JAVA宠物店管理系统(程序+LW)
  6. 数字电路实验(01)基本逻辑运算及其电路实现
  7. 兰州商学院正式更名为兰州财经大学
  8. 怎么转换AZW3格式?介绍几个AZW3转PDF工具给你
  9. 基于php的超市管理系统,基于PHP的超市管理系统
  10. 最近没有写博客持之以恒都没有了