前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生信基础R(1)

生信基础R(1)

原创
作者头像
小小趴菜
发布2023-05-09 19:23:34
4780
发布2023-05-09 19:23:34
举报
文章被收录于专栏:生信基础生信基础

title: "生信基础R第一课"

output: html_document

date: "2023-05-09"


函数

代码语言:text
复制
#运行脚本:光标放在某一行,点”run”,快捷键ctrl+enter(mac:command+enter)
#向量的生成,对单个/两个向量进行的操作,取子集,元素修改。

#####2.1.向量生成🌟#####

#(1)用 c() 结合到一起
c(2,5,6,2,9) 
代码语言:txt
复制
## [1] 2 5 6 2 9
代码语言:text
复制
c("a","f","md","b")
代码语言:txt
复制
## [1] "a"  "f"  "md" "b"
代码语言:text
复制
#(2)连续的数字用冒号“:” 
1:5
代码语言:txt
复制
## [1] 1 2 3 4 5
代码语言:text
复制
#(3)有重复的用rep(),有规律的序列用seq(),随机数用rnorm()
rep("x",times=3)  #x的字符串重复三次
代码语言:txt
复制
## [1] "x" "x" "x"
代码语言:text
复制
seq(from=3,to=21,by=3)  #从3开始到21,每3取一个数,组成一个向量。from,to叫参数
代码语言:txt
复制
## [1]  3  6  9 12 15 18 21
代码语言:text
复制
rnorm(n=3)  #随机数函数:生成三个随机数
代码语言:txt
复制
## [1] 0.5583694 1.1269912 0.7437993
代码语言:text
复制
#(4)通过组合,产生更为复杂的向量。
paste0(rep("x",times=3),1:3)   
代码语言:txt
复制
## [1] "x1" "x2" "x3"
代码语言:text
复制
#####2.2对单个向量进行的操作####
#(1)赋值给一个变量名
x = c(1,3,5,1) #随意的写法
x
代码语言:txt
复制
## [1] 1 3 5 1
代码语言:text
复制
x <- c(1,3,5,1) #规范的赋值符号 Alt+减号  x称为变量或对象(给向量起个名字)
x  #输出结果查看
代码语言:txt
复制
## [1] 1 3 5 1
代码语言:text
复制
#赋值+输出一起实现,两种方式
x <- c(1,3,5,1);x  #两句代码放一起要用;隔开   不要使用函数名称
代码语言:txt
复制
## [1] 1 3 5 1
代码语言:text
复制
(x <- c(1,3,5,1))#1,3,5,1称为向量里的元素
代码语言:txt
复制
## [1] 1 3 5 1
代码语言:text
复制
#(2)简单数学计算
x+1
代码语言:txt
复制
## [1] 2 4 6 2
代码语言:text
复制
log(x)
代码语言:txt
复制
## [1] 0.000000 1.098612 1.609438 0.000000
代码语言:text
复制
sqrt(x)
代码语言:txt
复制
## [1] 1.000000 1.732051 2.236068 1.000000
代码语言:text
复制
#(3)根据某条件进行判断,生成逻辑型向量
x>3
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE
代码语言:text
复制
x==3
代码语言:txt
复制
## [1] FALSE  TRUE FALSE FALSE
代码语言:text
复制
#(4)初级统计
max(x) #最大值
代码语言:txt
复制
## [1] 5
代码语言:text
复制
min(x) #最小值
代码语言:txt
复制
## [1] 1
代码语言:text
复制
mean(x) #均值
代码语言:txt
复制
## [1] 2.5
代码语言:text
复制
median(x) #中位数
代码语言:txt
复制
## [1] 2
代码语言:text
复制
var(x) #方差
代码语言:txt
复制
## [1] 3.666667
代码语言:text
复制
sd(x) #标准差
代码语言:txt
复制
## [1] 1.914854
代码语言:text
复制
sum(x) #总和
代码语言:txt
复制
## [1] 10
代码语言:text
复制
#进阶
length(x) #长度  长度为4,意思是有4个元素
代码语言:txt
复制
## [1] 4
代码语言:text
复制
unique(x) #去重复 从左向右,第一次出现的不重复,第二次出现为重复
代码语言:txt
复制
## [1] 1 3 5
代码语言:text
复制
duplicated(x) #判断对应元素是否重复
代码语言:txt
复制
## [1] FALSE FALSE FALSE  TRUE
代码语言:text
复制
table(x) #重复值统计出现多少次
代码语言:txt
复制
## x
## 1 3 5 
## 2 1 1
代码语言:text
复制
sort(x)  #排序  默认从小到大
代码语言:txt
复制
## [1] 1 1 3 5
代码语言:text
复制
sort(x,decreasing = F)
代码语言:txt
复制
## [1] 1 1 3 5
代码语言:text
复制
sort(x,decreasing = T)
代码语言:txt
复制
## [1] 5 3 1 1
代码语言:text
复制
#####2.3.对两个向量进行的操作#####
x = c(1,3,5,1)
y = c(3,2,5,6)
#(1)比较运算,生成等长的逻辑向量
x == y 
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE
代码语言:text
复制
y == x
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE
代码语言:text
复制
#(2)数学计算
x + y  #等位运算
代码语言:txt
复制
## [1]  4  5 10  7
代码语言:text
复制
#(3)连接
paste(x,y,sep=",")
代码语言:txt
复制
## [1] "1,3" "3,2" "5,5" "1,6"
代码语言:text
复制
#paste与paste0的区别
paste(x,y)
代码语言:txt
复制
## [1] "1 3" "3 2" "5 5" "1 6"
代码语言:text
复制
paste0(x,y)
代码语言:txt
复制
## [1] "13" "32" "55" "16"
代码语言:text
复制
paste(x,y,sep = "")
代码语言:txt
复制
## [1] "13" "32" "55" "16"
代码语言:text
复制
paste(x,y,sep = ",")
代码语言:txt
复制
## [1] "1,3" "3,2" "5,5" "1,6"
代码语言:text
复制
#当两个向量长度不一致
x = c(1,3,5,6,2)
y = c(3,2,5)
x == y # 啊!warning!
代码语言:txt
复制
## Warning in x == y: longer object length is not a multiple of shorter object length
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE  TRUE
代码语言:text
复制
#循环补齐--看ppt    以长的为准进行补齐 两个条件1.等位运算 2.长度不相等的两个向量

#利用循环补齐简化代码
paste0(rep("x",3),1:3)
代码语言:txt
复制
## [1] "x1" "x2" "x3"
代码语言:text
复制
paste0("x",1:3)
代码语言:txt
复制
## [1] "x1" "x2" "x3"
代码语言:text
复制
#(4)交集、并集、差集
intersect(x,y)  #交集
代码语言:txt
复制
## [1] 3 5 2
代码语言:text
复制
union(x,y) #并集且去重复
代码语言:txt
复制
## [1] 1 3 5 6 2
代码语言:text
复制
setdiff(x,y)  #返回在向量x里存在,在y中不存在的元素
代码语言:txt
复制
## [1] 1 6
代码语言:text
复制
setdiff(y,x)  #返回在向量y里存在,在向量x里不存在的元素
代码语言:txt
复制
## numeric(0)
代码语言:text
复制
x=c(1,3,5,1)
y=c(3,2,5,6)
x %in% y #x的每个元素在y中存在吗
代码语言:txt
复制
## [1] FALSE  TRUE  TRUE FALSE
代码语言:text
复制
y %in% x #y的每个元素在x中存在吗
代码语言:txt
复制
## [1]  TRUE FALSE  TRUE FALSE
代码语言:text
复制
#####2.4.向量筛选(取子集)--看ppt#####
#[]:将T对应的值挑选出来,F丢弃
x <- 8:12
#根据逻辑值取子集 (中括号里是与x等长且一一对应的逻辑值向量)
x[x==10]
代码语言:txt
复制
## [1] 10
代码语言:text
复制
x[x<12]
代码语言:txt
复制
## [1]  8  9 10 11
代码语言:text
复制
x[x %in% c(9,13)]
代码语言:txt
复制
## [1] 9
代码语言:text
复制
#根据位置取子集  (中括号里是由x的下标组成的向量)
x[4]
代码语言:txt
复制
## [1] 11
代码语言:text
复制
x[2:4]  #x[1,5]不成立,会报错。要求中括号里必须是一个向量。正确:x[c(1,5)]
代码语言:txt
复制
## [1]  9 10 11
代码语言:text
复制
x[c(1,5)]
代码语言:txt
复制
## [1]  8 12
代码语言:text
复制
x[-4]  #反选,减号给数字用,叹号给逻辑值用
代码语言:txt
复制
## [1]  8  9 10 12
代码语言:text
复制
x[-(2:4)]
代码语言:txt
复制
## [1]  8 12
代码语言:text
复制
####2.5.修改向量中的某个/某些元素:取子集+赋值。
x
代码语言:txt
复制
## [1]  8  9 10 11 12
代码语言:text
复制
#改一个元素
x[4] <- 40
x
代码语言:txt
复制
## [1]  8  9 10 40 12
代码语言:text
复制
#改多个元素
x[c(1,5)] <- c(80,20)
x
代码语言:txt
复制
## [1] 80  9 10 40 20
代码语言:text
复制
x=c("a","b","a","c")
x[x=="a"]
代码语言:txt
复制
## [1] "a" "a"
代码语言:text
复制
x
代码语言:txt
复制
## [1] "a" "b" "a" "c"
代码语言:text
复制
x=x[x=="a"]
x           # r语言里的修改,都要赋值,没有赋值就没有发生过
代码语言:txt
复制
## [1] "a" "a"

使用范例

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

代码语言:text
复制
summary(cars)
代码语言:txt
复制
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

生信技能树

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数
  • 使用范例
  • Including Plots
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档