Advertisement

r语言判断字符是否相等_R语言生物信息大数据分析基础入门

阅读量:
**************
78de8471-0b14-eb11-8da9-e4434bdf6706.gif

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
数据对象
  • 标量

  • 向量

  • 因子

  • 矩阵

  • 数组

  • 列表

  • 数据框

数据对象通常有三个属性:类型、值、变量名称

举例
  1. 标量
复制代码
    a a = 3.14m x TURE -> y> y[1]  TURE> x[1]  FALSE
  1. 向量
复制代码
    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   # 添加元素
  1. 因子
复制代码
    # 因子是一种特殊类型的字符型向量# 创建一个字符向量或整数向量# 使用 factor()函数将其转为因子b "one",b > b[1] one   two   threeLevels: one three two
  1. 矩阵
复制代码
    矩阵是一个二维数组函数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
  1. 数据框
复制代码
    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
  1. 列表
复制代码
    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。

7ede8471-0b14-eb11-8da9-e4434bdf6706.jpeg

南博屹相伴,科研不孤单

全部评论 (0)

还没有任何评论哟~