生信星球培训第四十三期

学习小组Day6笔记--五颗糖

2020-03-13  本文已影响0人  想要转行的小张

1.R包的安装

首先
install.packages(“包”)
如果包不好安装可以下载压缩文件进行本地安装。
然后选择镜像
最后(二者选一个)
library(包) require(包)

2. dplyr包中基本函数的学习

以iris数据集为例进行说明
test1 <- iris[c(1:3,51:52,101:102),]#将iris包的1到3行,51到52行和101到102行提取出来,并赋值给test1
新增列函数:mutate()
如新增一列命名为new,它的值为长/宽

mutate(test, new = Sepal.Length/Sepal.Width)
  Sepal.Length Sepal.Width Petal.Length Petal.Width    Species      new
1          5.1         3.5          1.4         0.2     setosa 1.457143
2          4.9         3.0          1.4         0.2     setosa 1.633333
3          7.0         3.2          4.7         1.4 versicolor 2.187500
4          6.4         3.2          4.5         1.5 versicolor 2.000000
5          6.3         3.3          6.0         2.5  virginica 1.909091
6          5.8         2.7          5.1         1.9  virginica 2.148148

按列筛选
select()

select(test1,1) #将第一列选出
select(test1,c(1,5)) #将第一列和第五列选出
select(test1, Petal.Length, Petal.Width) #将列名为Sepal.Length和Petal.Width的选出
a <- c("Petal.Length", "Petal.Width")# 将需要选出的列的列名全赋予给a
select(test1, one_of(a))#选出test1中包含a的列

筛选行
filter()

filter(test1, Species == "virginica")
filter(test1, Species == "setosa"&Sepal.Length > 6)
filter(test, Species %in% c("setosa","versicolor"))#注意%in%的意思

按某1列或某几列对整个表格进行排序
arrange()
arrange(test1, Sepal.Length)#将按照长,从小到大排序进行排序或在里面加上desc(Sepal.Length)按照从大到小排序

arrange(test1, Sepal.Length)
  Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1          4.7         3.2          1.3         0.2     setosa
2          4.9         3.0          1.4         0.2     setosa
3          5.1         3.5          1.4         0.2     setosa
4          5.8         2.7          5.1         1.9  virginica
5          6.3         3.3          6.0         2.5  virginica
6          6.4         3.2          4.5         1.5 versicolor
7          7.0         3.2          4.7         1.4 versicolor

汇总
summarise()

重要的

管道命令:%>%
如:将test1传递给group_by,再传递给 summarise

test1 %>% 
    group_by(Species) %>% 
    summarise(mean(Sepal.Length), sd(Sepal.Length))

等同于(注意体会和理解)

test1 
group_by(test1,Species) 
summarise(group_by(test1,Species), mean(Sepal.Length), sd(Sepal.Length))

count()函数:统计某列中多种重复值及其重复次数

将2个关系数据表进行连接(注意理解!!):

inner_join #内连
left_join #左连
full_join #全连
semi_join #半连接
anti_join #反连接

最后cbind()函数和rbind()函数:将两个表合并(要求列相同或行相同)。

以上部分对于数据的筛选和清洗作用很大,需要仔细体会学习。

上一篇 下一篇

猜你喜欢

热点阅读