r语言判断字符是否相等_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个字。投稿者,请将文章发送至nambou1@1@63.com。

南博屹相伴,科研不孤单
