生信学习小组 Day6 -- ldj
2020-11-21 本文已影响0人
LDJ_60bd
R语言学习-R包
R包的下载,在
CRAN
或Bioconductor
里,自定义的下载是在CRAN, 配置 Rstudio的下载镜像 方法
-
install.packages(“包”)
是在 CRAN里下载 -
BiocManager::install(“包”)
在Biocductor里
dplyr五个基础函数
-
mutate()
,新增列mutate(mtcars,mpg = NULL,disp = disp * 0.0163871) mtcars %>% as_tibble() %>% mutate(mpg = NULL, disp = disp * 0.0163871) # convert to litres
-
select()
,筛选列#按列号 select(test,c(1,5)) #按列名 vars <- c("Petal.Length", "Petal.Width") select(test, one_of(vars))
-
filter()
筛选行
#注意 ==
filter(test, Species == "setosa"&Sepal.Length > 5 )
#注意此时 == 的到的结果和in是不同的
filter(test, Species %in% c("setosa","versicolor"))
filter(test, Species == c("setosa","versicolor"))
filter(test, Species %in% c("setosa","versicolor"))
- `arrange()`,按某1列或某几列对整个表格进行排序`
```R
# 默认从小到大排序
arrange(test, Sepal.Length)
#用desc从大到小
arrange(test, desc(Sepal.Length))
-
summarise()
汇总#group_by 形成tibble数据格式,计算每组Sepal.Length的平均值和标准差。 summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
dplyr
实用技能
-
管道符
%>%
(cmd/ctr + shift + M)
test %>% group_by(Species) %>% summarise(mean(Sepal.Length), sd(Sepal.Length))
-
count
统计某列的unique值count(test,Species) ## # A tibble: 3 x 2 ## Species n ## <fct> <int> ## 1 setosa 2 ## 2 versicolor 2 ## 3 virginica 2
表格间的操作
left_join
inner_join
full_join
semi_join 和 anti_join 是相反的
`bind_rows()`函数需要两个表格列数相同,而`bind_cols()`函数则需要两个数据框有相同的行数