2020-06-20

作者: 大虾马 | 来源:发表于2020-06-20 18:01 被阅读0次

学习小组Day6笔记--马小林

1、如何配置RStudio的下载镜像

基础

在RStudio中,选择Tools——Packages——Primary CRAN repository——Change——China(Beijing)TUNA那个镜像
缺点:这个只能设置CRAN的镜像,但如果要下载Bioconductor的包,这个镜像无法work。

进阶

在RStudio中自定义

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

缺点:重启RStudio时,下载Bioconductor很可能被修改为官方镜像

终极

修改R的配置文件.Rprofile

file.edit('~/.Rprofile')

随后在脚本区添加

options("repos" = c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")

再次重启时仍可以保持国内镜像位置

2、安装R包

install.packages(“names_package”)#存在于CRAN网站的包
BiocManager::install(“names_package”)#存在于Biocductor网站的包

3、加载

library(names_package)
require(names_package)#两个命令均可

4、dplyr基础函数

下列数据以iris为基础,iris是内置的一个构建好的数据集

test <- iris[c(1:2,51:52,101:102),]
test
##   Sepal.Length Sepal.Width Petal.Length Petal.Width    Species   new
## 1          5.1         3.5          1.4         0.2     setosa 17.85
## 2          4.9         3.0          1.4         0.2     setosa 14.70
## 3          7.0         3.2          4.7         1.4 versicolor 22.40
## 4          6.4         3.2          4.5         1.5 versicolor 20.48
## 5          6.3         3.3          6.0         2.5  virginica 20.79
## 6          5.8         2.7          5.1         1.9  virginica 15.66

mutate(),增加列

mutate(test, new = Sepal.Length * Sepal.Width)#增加一个列,名为new,数据是 Sepal.Length 乘Sepal.Width返回的值

select(),按列筛选

按列号

select(test,1)#取出第一列
select(test,c(1,5))#取出第一、五列

按列名

select(test,Sepal.Length,names_column)#取出名为Sepal.Length及其他命名的列
vars <- c("Petal.Length", "Petal.Width")
select(test, one_of(vars))#先定义一个变量,再取出这个数据框中的这个变量,all_of(vars)和one_of(vars)在操作中返回结果一样,没找到解释

filter()筛选行

filter(test, Species == "setosa")#选择列Species中行名是setosa的行
filter(test, Species == "setosa"&Sepal.Length > 5 )#选择列Species中行名是setosa且Sepal.Length列值大于5的行
filter(test, Species %in% c("setosa","versicolor"))#选择列Species中行名是setosa、versicolor的行

arrange(),按列对整个表格进行排序

arrange(test, Sepal.Length)#默认从小到大排序
arrange(test, desc(Sepal.Length))#用desc从大到小排序

summarise():汇总

summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差

也可以通过分组的方式,更细致的处理数据

group_by(test, Species)#按照Species分组
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

5、dplyr的小tips

管道操作 %>%

加载任意一个tidyverse包就可以用管道符号,dplyr和ggplot2是其中最著名的两个,快捷键是Ctrl+Shift+M

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

count统计某列的unique值

count(test,Species)#返回的结果是Species中每一种行名的行个数

6、dplyr处理关联数据

先创建两个表

options(stringsAsFactors = F)

test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'),
                    stringsAsFactors = F)#stringsAsFactors表示是否将字符串变为因子,字符串要加引号
test2 <- data.frame(x = c('a','b','c','d','e','f'), 
                    y = c(1,2,3,4,5,6),
                    stringsAsFactors = F)

內连inner_join,取交集

inner_join(test1, test2, by = "x")#取test1和test2中相同的行名,取其中相同的数据,并按照test1在前,test2在后的顺序排列

左连left_join

left_join(test1, test2, by = 'x')
left_join(test2, test1, by = 'x')#以排在前面的test2表的x列为标准,将test1的对应值放在test2表的右边

全连full_join

full_join( test1, test2, by = 'x')#取并集,并按照test1、test2的顺序合并表

半连接:返回能够与y表匹配的x表所有记录semi_join

semi_join(x = test1, y = test2, by = 'x')

反连接:返回无法与y表匹配的x表的所记录anti_join

anti_join(x = test2, y = test1, by = 'x')#与-的含义相似

简单合并

bind_rows(test1, test2)#按行合并,必须列数相同
bind_cols(test1, test3)#按列合并,必须行数相同

7、思维导图

DAY-6.png

相关文章

  • 魏城《肖一》

    肖一 作者:魏城 写于2020-06-20 伦敦 ...................................

  • 2020-06-20 天殿纪事

    2020-06-20,外交部谈中印边境冲突来龙去脉 印方越线蓄意挑衅

  • 2020-06-22

    2020-06-21 2020-06-20 2020-06-19 2020-06-18 2020-06-16 20...

  • 2020-06-24

    2020-06-23 2020-06-22 2020-06-21 2020-06-20 2020-06-19 20...

  • 听《王Pei-如何讲故事》

    听《WangPei-如何讲故事》, 2020-06-20 使用道具 搭建结构 arch,中西方建筑的区别, 重要,...

  • 2020-06-21

    2020-06-20 2020-06-19 2020-06-18 2020-06-16 2020-06-15 20...

  • 2020-06-23

    2020-06-22 2020-06-21 2020-06-20 2020-06-19 2020-06-18 20...

  • 自行成交房产记录

    主题:西城自行成交全纪录 楼主|q123098|2020-06-20 10:11:08|只看此ID rt。朋友的房...

  • 2020-06-20

    2020-06-20 日精进打卡 姓名:彭新 宁波蓝天白云供应链管理有限公司 【日精进打卡第836天】 【知学习】...

  • 2020-06-20|感恩日记

    2020-06-20|感恩日记 今天呆在外面,学会了凡事要留有证据。 感谢教会我这个道理的人,让我以后可以少走自己...

网友评论

    本文标题:2020-06-20

    本文链接:https://www.haomeiwen.com/subject/rcgwxktx.html