生信技能树学习笔记1

2023-05-10 10:33:00 浏览数 (1)

R Markdown

knitr::knit("")

转换为md文件

代码语言:text复制
is.numeric("A") 
代码语言:txt复制
## [1] FALSE
代码语言:text复制
##是否为数值型数据,返回值为TRUE或FALSE
as.numeric("4")
代码语言:txt复制
## [1] 4

第一讲:认识R

" > "在R语言中是命令提示符

()前面的单词是函数

getwd()

获取绝对路径

路径补充

文件在桌面上,不在工作目录下,怎样读取

绝对路径,换了电脑就读不成功

x1 = read.csv("C:/Users/win10/Desktop/x.csv")

相对路径,文件的相对位置正确,则可以读成功

x1 = read.csv("../x.csv")

把x.csv放进了工作目录下的test文件夹里

x1 = read.csv("test/x.csv")

把整个biotrainee换个位置或者发给别人,仍然可以读取成功

字符型数据:"a",'b'

逻辑型数据:TRUE,FALSE,NA

数值型:1.3,2

class()

###判断数据类型

第二讲:数据类型

1. 逻辑型数据

与 &, 或 |,非 !,等于 ==,不等于 !=

2. is族函数

代码语言:text复制
is.numeric("A") 
代码语言:txt复制
## [1] FALSE
代码语言:text复制
##是否为数值型数据,返回值为TRUE或FALSE

3. as族函数实现数据类型之间的转换

代码语言:text复制
as.numeric("4")
代码语言:txt复制
## [1] 4
代码语言:text复制
4
代码语言:txt复制
## [1] 4
代码语言:text复制
##将其他数据转换成数值型数据

4. 数据结构

向量(一串数据,数据框中单独拿出一列是向量,视为一个整体,一个向量只能有一种数据类型,可以有重复值)

数据框(约等于表格,一列只能有一种数据类型)

矩阵

列表

4.1 向量的生成

代码语言:text复制
c(2,3,15,5,7)
代码语言:txt复制
## [1]  2  3 15  5  7
代码语言:text复制
c(1:9)
代码语言:txt复制
## [1] 1 2 3 4 5 6 7 8 9
代码语言:text复制
rep("x",times=3)
代码语言:txt复制
## [1] "x" "x" "x"
代码语言:text复制
##有重复的用rep(),有规律的序列用seq(),随机数用rnorm()
seq(from=3,to=21,by=3)
代码语言:txt复制
## [1]  3  6  9 12 15 18 21
代码语言:text复制
paste0(rep("x",times=3),1:3)
代码语言:txt复制
## [1] "x1" "x2" "x3"
代码语言:text复制
###paste0函数是把数据连在一起。连接函数

一个向量中有不同数据类型时有优先级

代码语言:text复制
c(1,"a")
代码语言:txt复制
## [1] "1" "a"
代码语言:text复制
c(TRUE,1)
代码语言:txt复制
## [1] 1 1
代码语言:text复制
#C(FALSE,"a",TRUE)

变量名的取名规则:x_1,x.1,b1,A,a可用,x-1,2a,x 2,seq,c,巴拉巴拉不可用。

4.2 对单个向量进行操作

代码语言:text复制
#简单计算
x<-c(1,3,5,6)
log(x)
代码语言:txt复制
## [1] 0.000000 1.098612 1.609438 1.791759
代码语言:text复制
sort(x,decreasing=T)
代码语言:txt复制
## [1] 6 5 3 1
代码语言:text复制
##默认从小到大,T会变成从大到小

常用函数:

代码语言:text复制
x<-c(1,3,5,6)
var(x)#方差
代码语言:txt复制
## [1] 4.916667
代码语言:text复制
sd(x)#标准差
代码语言:txt复制
## [1] 2.217356
代码语言:text复制
length(x)#x长度
代码语言:txt复制
## [1] 4
代码语言:text复制
unique(x)#去重复
代码语言:txt复制
## [1] 1 3 5 6
代码语言:text复制
duplicated(x)#判断是否重复
代码语言:txt复制
## [1] FALSE FALSE FALSE FALSE
代码语言:text复制
table(x)#重复值统计
代码语言:txt复制
## x
## 1 3 5 6 
## 1 1 1 1
代码语言:text复制
sort(x,decreasing=T)#排序##默认从小到大,T会变成从大到小
代码语言:txt复制
## [1] 6 5 3 1

4.3 对两个向量进行操作

在R语言中,paste和paste0都是用于连接(concatenate)字符串的函数。它们的区别如下:

paste()函数:将多个输入对象连接成一个字符串,并在每两个相邻的对象之间添加分隔符,默认为一个空格。例如,paste("a", "b", "c")返回值为 "a b c"。

paste0()函数:与paste()函数类似,但是不会在对象之间添加分隔符。例如,paste0("a", "b", "c")返回值为 "abc"。

因此,如果你需要在字符串之间添加分隔符,则使用paste()函数;如果你不需要添加分隔符,则使用paste0()函数可以使代码更简洁易读。

这里还有一些其他的区别:

paste函数可以接受多个参数,并将它们连接起来,而paste0只接受两个或多个参数。

paste函数的默认分隔符是空格,但是你可以使用sep参数来指定自己想要的分隔符。而paste0没有分隔符参数,始终不添加分隔符。

总之,paste()和paste0()函数的主要区别在于是否添加分隔符。

4.4 利用循环补齐简化代码

(1)等位运算

(2)向量长度不相等

以长的为主

代码语言:text复制
paste0("student",seq(2,5,2))
代码语言:txt复制
## [1] "student2" "student4"
代码语言:text复制
paste0(rep("student",times=7),seq(from=2,to=15,by=2))
代码语言:txt复制
## [1] "student2"  "student4"  "student6"  "student8"  "student10" "student12" "student14"

4.5 对向量取子集

按照逻辑值:中括号里是与x等长且一一对应的逻辑值向量,

按照位置:中括号里是由x的下标组成的向量。

0 人点赞