r语言判断字符是否相等_R语言生物信息大数据分析基础入门
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5iNwcjNmRmY0MDN0UWL5EGZ40SMxIWZtQTMiBTLxcDN4UGZ4czLcRnblRnbvN2Lc12bj5yZtlWZjVjL1ADcvw1LcpDc0RHaiojIsJye.gif)
R是一个自由、免费、开放的软件。具有强大的数据处理能力,越来越多的科研工作者也开始使用R语言处理科研数据,发表论文、文章。
牛顿曾经说过:如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。而R语言就是“巨人的肩膀”。但对于很多不是生信专业出身,却又需要 R 来统计及绘图的科研小伙伴来说,熟练使用 R 还是一项具有难度的挑战。今天介绍的R语言基础入门,希望能帮助到大家。
良好的R使用习惯
- R支持中文,但不好!建议用全英文环境。
- R语言具有严格的符号与语法控制,建议使用纯文本编辑工具编写R代码(注意中文符号)。
- 使用R时,要先设定工作目录(getwd(), setwd())。
- R可以使用Tab键自动补齐命令行。
设置R默认启动项
file.edit('~/.Rprofile')#bioconductoroptions(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")#CRANoptions(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
R包管理
install.packages("ggplot2") 安装R包library(ggplot2) 加载R包update.packages() 将所有的包进行更新
更新R版本
install.packages("installr")require(installr)updateR()
R中的数据对象与数据操作
赋值与注释
a = 2 # R中对变量的名字大小写敏感,a与A是不同的a a b c
数据对象
- 标量
- 向量
- 因子
- 矩阵
- 数组
- 列表
- 数据框
数据对象通常有三个属性:类型、值、变量名称
举例
- 标量
a a = 3.14m x TURE -> y> y[1] TURE> x[1] FALSE
- 向量
a 1,b "one",c # 使用函数rep(), seq(), ":"生成向量d 2,times=> d[1] 2 2 2 2e from=> e[1] 3 6 9 12 15 18 21f 1:> f [1] 1 2 3 4 5 6 7 8 9 10# 向量提取元素> a[1][1] 1> a[c(1,5)][1] 1 5> a[1:3][1] 1 2 3> a[a<5][1] 1 2 3 4 # 通过判断来提取元素> a[a>5][1] 6 7 8 9 10> a[-c(1,5)][1] 2 3 4 6 7 8 9 10 # 去除向量中的元素a[5] 12> a [1] 1 2 3 4 12 6 7 8 9 10 #替换元素a 12,> a [1] 1 2 3 4 5 12 6 7 8 9 10 # 添加元素
- 因子
# 因子是一种特殊类型的字符型向量# 创建一个字符向量或整数向量# 使用 factor()函数将其转为因子b "one",b > b[1] one two threeLevels: one three two
- 矩阵
矩阵是一个二维数组函数matrix()用于创建矩阵y 1:> y [,1] [,2] [,3] [,4][1,] 1 6 11 16[2,] 2 7 12 17[3,] 3 8 13 18[4,] 4 9 14 19[5,] 5 10 15 20y 1:> y [,1] [,2] [,3] [,4][1,] 1 2 3 4[2,] 5 6 7 8[3,] 9 10 11 12[4,] 13 14 15 16[5,] 17 18 19 20
- 数据框
patientID age status patientDate > patientDate patientID age status1 1 25 poor2 2 34 improved3 3 28 poor4 4 52 good> NCBIdata Year BasePairs1 1991 11002 1992 12003 1993 13004 1994 14005 1995 15006 1996 16007 1997 17008 1998 18009 1999 190010 2000 2000# 按照条件提取> NCBIdata[NCBIdata$Year>1998,] Year BasePairs9 1999 190010 2000 2000 NCBIdata[NCBIdata$Year>1990 & NCBIdata$BasePairs>1700,] Year BasePairs8 1998 18009 1999 190010 2000 2000> NCBIdata[,c("Year")] [1] 1991 1992 1993 1994 1995 1996 [7] 1997 1998 1999 2000
- 列表
rec "LiMing",age=> rec$`name`[1] "LiMing"$age[1] 18$scores[1] 85 76 90
R中的基础函数及编程
函数形式: 函数(输入数据,参数=)
平均值: mean(x,trim=0,na.rm =FALSE,...)
线性模型: lm(y~x,data=test)
R字符数据操作函数
- 字符合并
>paste("abc","bc")[1] "abc bc">paste("abc","bc",sep="")[1] "abcbc"
- 字符取长度
>nchar("abcccc")[1] 6
- 字符取子集
> substr("abcdef",2,3)[1] "bc"> substring("abcdef", 3)[1] "cdef"substring("abcdef", 1:6, 1:6)[1] "a" "b" "c" "d" "e" "f"> substr(rep("abcdef", 4), 1:4, 4:5)[1] "abcd" "bcde" "cd" "de"
编程基础
函数名 {
异常处理;
表达式(循环/判别);
return(返回值);
}
输入直角三角形的两个边,求斜边长rcal function(x,y){ z 2 + y^ result return(result)}rcal(3,4)
流程控制 if
if (条件)表达式,或if (条件)表达式1 else 表达式2
p = 0.03if (p < = 0.05) { print("p <= 0.05!")} else { print("p > 0.05!")}x = 3y if (x==2) x
条件与逻辑运算
- 判断相等 x==y
- 判断小于等于 x<=y
- 判断大于等于 x>=y
- 逻辑“与”运算 x && y
- 逻辑“或”运算 x || y
- 逻辑“非”运算 !x
- 向量的逻辑“与” x & y
- 向量的逻辑“或” x | y
循环 for,while
for (i in 1:10) print (i)a for (i in 1:10){ a }> a[1] 10i while (i <10) { print (i); i
数据的输入与输出
read.table()read.csv()write.table()write.csv()
免责声明:来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。
• END •
↓更多往期精彩内容,点击【以下链接】
如何绘制出漂亮的SNP密度图
Galaxy生物医学领域最受欢迎的在线生物信息分析工具
R包【ggsci】各大期刊论文配图一步到位,再也不会被吐槽审美了
深圳南博屹生物科技有限公司诚邀生物领域科学家在我们的平台上,发表和介绍国内外原创的科研成果。
注:国内为原创研究成果或评论、综述,国际为在线发表一个月内的最新成果或综述,字数500字以上,并请提供至少一张图片。投稿者,请将文章发送至[email protected]
南博屹相伴,科研不孤单