数据挖掘20210104学习笔记

通过学习生信技能树的课程,使我受益匪浅,为了更好的理解生信技能树小洁老师的讲解,我开始陆续上传课堂笔记,以便将来查找使用。

R与Rstudio

1.在Rstudio中新建项目

过程:File > New Project > New Directory > New Project > Directory name > Creat Project

2.新建脚本

过程:File > New File > R script

理解一段代码
head(x1) # 查看前6行

pdf("x.pdf") # 新建一个 pdf
plot(x1$len,col = factor(x1$dose)) # 画个简单的散点图
title("Have a try") # 加个标题
dev.off() # 结束

write.table(x1,"x.txt") # 保存成txt

脚本打开是乱码的解决方案

file > Reopen with Encoding > UTF-8 > OK

数据类型和向量

(1)数值型(numeric):单独数字:1、3、1.255

(2)字符型(character):需加引号的单独数字、单独字母、或数字与字母的组合:“1”、“ads”、“15a”

(3)逻辑型(logical):TRUE、FALSE、NA(缺失值,存在但未知)

判断某元素是哪种数据类型时:用class()

> class(TRUE)
[1] "logical"
> class(2655)
[1] "numeric"
> class("25")
[1] "character"

逻辑运算中多个逻辑条件的连接: 与&、或|、非!

> 3<5&3>8
[1] FALSE
> !4>7
[1] TRUE
> 3<5|4>5
[1] TRUE

数据类型的判断与转换

is族函数,判断,返回值为TRUEFALSE
as族函数实现数据类型之间的转换

数据结构

向量、数据框、列表、矩阵

向量是数据框单独拿出来的一列,视为一个整体。一个向量只允许一种数据类型,

向量

向量的生成

(1)、用c()逐一放到一起
> c(1,5,9,8,7)
[1] 1 5 9 8 7
(2)、连续的数字用冒号 ":"
> 1:6
[1] 1 2 3 4 5 6
(3)、有重复的用rep(), 有规律的序列用seq(), 随机数用rnorm()
> rep("gene", times = 3)
[1] "gene" "gene" "gene"

> seq(from = 3, to = 21, by = 3)
[1]  3  6  9 12 15 18 21

> rnorm(n=4)
[1] -0.5485853  1.6685133  2.0597608 -0.8668472
(5)、通过组合,产生更为复杂的向量
> paste0(rep("gene", times =3), 1:3)
[1] "gene1" "gene2" "gene3"
> paste0(rep("gene", times =4), 1:3)
[1] "gene1" "gene2" "gene3" "gene1"
> paste0(rep("gene", times =5), 1:3)
[1] "gene1" "gene2" "gene3" "gene1" "gene2"#循环补齐
练习题:
> c(1,"ab",66)
[1] "1"  "ab" "66"
> seq(from=4,to=30,by=4)
[1]  4  8 12 16 20 24 28
> paste0(rep("sample",7),seq(from=4,to=30,by=4))
[1] "sample4"  "sample8"  "sample12" "sample16" "sample20" "sample24"
[7] "sample28"


数值型+字符型=字符型 ,逻辑型+字符型=字符型 , 逻辑型+数值型=数值型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容