Ruizheng 的学习笔记
感谢 生信技能树 小洁老师
熟悉R语言
R语言相对简单
- 很重要
- 很简单
- 适合生物学家
R语言核心:用 函数 处理 数据
什么是R
R是一种编程语言,也是统计计算和绘图的环境,能够提供强大的功能。
- 开源免费
- 简单有效
- 数据处理、清理和存储
- 统计与可视化
什么是Rstudio
R语言的 集成开发环境
图形界面
学习工具
科研用途免费
开源
正确打开Rstudio的方式
新建一个 R project
- 认识 R studio 的界面 Script Environment Files
- 调一下皮肤 Global options > Appearance
- 人机互动 控制台 session
- 快速退出 Ctrl + Q
- 脚本
- 脚本运行 run OR Ctrl + Enter (win10) / Command + Enter (Max)
- 脚本注释 #
- 脚本保存、关闭,包括各种文件的保存和读取,都在 R project 位置所在文件夹 进行
理解一段代码
x1 = read.csv("x.csv") # 读取csv
head(x1) # 查看前6行
pdf("x.pdf") # 新建一个 pdf
plot(x1$len,col = factor(x1$dose)) # 画个简单的散点图
title("Have a try") # 加个标题
dev.off() # 结束
write.table(x1,"x.txt") # 保存成txt
R语言的几类命令响应
- 输出结果
- 报错:error > 检查环境、命令,修正后重新运行
- 警告:warning > 忽略
- “没反应” > 出现 “>" 后继续后续操作即可
- 命令正在运行 > 等
- 命令不完整 > 写完命令 / Esc 退出重新写
- 出现提示信息 > 检查提示信息里面是否有 Error, 没有的话可以忽略
- 进一步选择 > 进行选择,不然无法进行下一步
数据类型
- 数值型:1.3, 2
- 字符型:"a", "nn"
- 逻辑型: T, F, NA
class() # 判断数据类型
常见报错:引号、拼写错误、大小写
关注逻辑值数据
-
比较运算 的结果是逻辑值
eg. >, <, <=, >=, ==, != -
逻辑运算 多个逻辑条件的连接与 &、或|、非!
eg. !3 == 4 TRUE
数据类型的判断与转换
is族函数,判断,返回值为 TRUE 或 FALSE
is.numeric()
is.logical()
is.charactor()
as族函数实现数据类型之间的转换
as.numeric()
as.character()
as.logical()
多个数据如何组织
数据结构
- 向量:一个向量只能有一种数据类型,视为一个整体
- 数据框
- 矩阵
- 列表
切换 Rproject
先
保存、关闭 脚本、变量和图片
再
file > open project
有弹窗选择 don't save/no
保存有用的文件,不要让工作空间变得臃肿
脚本打开是乱码的解决方案
file > Reopen with Encoding > UTF-8 > OK
向量的生成
- 用c() 逐一放到一起
c(2,5,6,2,9)
c("a", "f", "md", "b")
- 连续的数字用冒号 ":"
1:5
- 有重复的用rep(), 有规律的序列用seq(), 随机数用rnorm()
rep("gene", times = 3)
seq(from = 3, to = 21, by = 3)
rnorm(n=3)
- 通过组合,产生更为复杂的向量
paste0(rep("gene", times =3), 1:3)
作业
- 强行合并数据类型:字符+其他—都变成字符,逻辑+数值—逻辑会转换成数值, NA保留
- seq(4, 30, 4)
- paste0(rep("sample"), seq(4,30,4))