DAY2

今天学的内容好多啊感觉有很多记忆的东西。首先来两个我很容易忘的快捷键。 option+’—‘可以打出<-、command+‘enter’运行、tab 补全括号

逻辑性数据
== 判断是否相等
!= (英文状态的!) 判断是否不想等
或| 与& 非!
数据类型的判断与转换
is族函数 返回值是TRUE/FALSE 例:is.numeric()
as族函数 直接转换数据类型 例:

>as.numeric('4')
4

数据类型转换的优先顺序 数值和逻辑都变字符,逻辑也会变数值

向量的生成

有重复rep()
有规律的序列 seq()
随机数rnorm

> rep('gene',times=3)
[1] "gene" "gene" "gene"
> seq(from=1,to=28,by=5)
[1]  1  6 11 16 21 26
> rnorm(n=5)
[1]  1.4985251  1.4585083 -0.2545511  1.0786589  0.8601176
> paste0(rep('gene',times=3),1:3)
[1] "gene1" "gene2" "gene3"

对单个变量进行的操作

1.赋值给一个变量名x<-
2.简单数字计算
3.根据某条件进行判断,生成逻辑值向量

> x <- c(1,2,3,4,5)
> x>3
[1] FALSE FALSE FALSE  TRUE  TRUE

4.初级统计
max(x) min(x) mean(x) median(x)
var(x)方差 sd(x)标准差
length(),向量的长度,即向量里元素的个数
unique(),去重复
duplicated(), 返回结果是逻辑值,向量里的每个元素是否有重复的
table() 重复值统计
sort() 排序 默认是从小到大
sort(x, decreasing=T) 从大到小

> x <- c(1,2,3,4,5)
> x>3
[1] FALSE FALSE FALSE  TRUE  TRUE
> x <- c(1,2,3,1)
> length(x)
[1] 4
> unique(x)
[1] 1 2 3
> duplicated(x)
[1] FALSE FALSE FALSE  TRUE
> table(x)
x
1 2 3 
2 1 1 
>sort(x,decreasing = T)
[1] 3 2 1 1

对两个向量的操作

1.逻辑比较,生成等长的逻辑向量。
x==y x和对应位置的y相等吗?
x%in%y x的每个元素在y中存在吗?
2.连接
paste0函数
3.交集、并集、差集
setdiff(x,y) 在x中存在,但y中不存在的。

> x=c(1,3,5,1)
> y=c(3,2,5,6)
> x==y
[1] FALSE FALSE  TRUE FALSE
> x%in%y
[1] FALSE  TRUE  TRUE FALSE
> paste(x,y,sep='and')
[1] "1and3" "3and2" "5and5" "1and6"

循环补齐

向量筛选(取子集)

1.根据逻辑值 [ ] 里是与x等长的逻辑值向量
2.根据位置 [ ] 里是由x下标组成的向量

修改向量中的某个或某些元素

直接赋值

> x <- 8:12;x
[1]  8  9 10 11 12
> x==10
[1] FALSE FALSE  TRUE FALSE FALSE
> x[x==10]
[1] 10
> x[x==13]
integer(0)
> x[-(2:4)]
[1]  8 12

最后我总是忘记c(1:5)和c(1,5)是不一样的!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容