学习小组Day6笔记--魏麻将

R包什么?

R包是R函数,编码和样本数据的集合, 它们存储在R环境中的名为“library”的目录下。 默认情况下,R在安装过程中安装一组软件包。当需要某些特定的目的时,也可根据需要添加更多的包。 当我们启动R控制台时,默认情况下只有默认软件包可用。 已经安装的其他软件包必须明确加载才能被要使用的R程序使用。

注意:学生信,R语言必学的原因是丰富的图表和Biocductor上面的各种生信分析R包。

安装和加载R包

  • 镜像设置
    最基础的是在Rstudio中进行了设置(R镜像是为了方便世界各地的使用者下载R软件及相关软件包,在各地设置的镜像。但是需要去官网下载,下载速度太慢。所以,选择离你最近的镜像,你下载R软件或R包的速度相对较快)。后来需要自定义我们的下载镜像,主要通过两行代码进行:
option ("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

下次再打开Rstudio,试试options()$BioC_mirror检查是否是国内镜像系统。如果发现不是得花,需要进行高级设置。
R的配置文件 .Rprofile :R中经常会使用一些命令,而且需要重复输入,非常麻烦。如果能够一打开R就直接使用会方便很多。通过配置一个.Rprofile文件,可以达到我们的目的。操作如下:

file.edit('~/.Rprofile')

再添加options两行代码,保存重启即可

补充:.Renviron:是给R包一个家,它是为了设置R的环境变量。

安装加载R包

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

示例数据如下:使用内置数据集iris的简化版

test <- iris[c(1:2,51:52,101:102),]

什么是iris数据集:


iris数据集.png

dplyr五个基础函数

dplyr包主要用于数据清洗和整理,主要功能有:行选择、列选择、统计汇总、窗口函数、数据框交集等是非常高效、友好的数据处理包.

  • mutate(),新增列
mutate(test, new = Sepal.Length * Sepal.Width)
新增一个new列,内容是Sepal.Length * Sepal.Width(长度*宽度)
  • select(),按列筛选
    1 按列号筛选
    select (test,()),可以是标量,可以是向量
    2 按列名筛选
  • filter()筛选行
filter(test, Species == "setosa") 筛选行为物种为setosa的物种
 filter(test, Species == "setosa"&Sepal.Length > 5 ) 筛选物种为setosa并且Sepal.Length > 5的行。如果中间是|,就是筛选的或者
filter(test, Species %in% c("setosa","versicolor"))筛选,物种符合setosa,versicolor的行

注意!!!x %in% y 的意思是“对x里的每个元素进行判断,判断它是否在y中存在,存在就返回TRUE,不存在就返回FALSE”,多的元素在前,少的元素在后。

  • arrange(),按某1列或某几列对整个表格进行排序
    arrange(test, Sepal.Length)#默认从小到大排序
    arrange(test, desc(Sepal.Length))#用desc从大到小
  • summarise():汇总
summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length)) **先按照先按照Species分组,计算每组Sepal.Length的平均值和标准差**

其中, A tibble: 3 x 3 =行*列
Groups: Species [3] 以。。进行的分组

dplyr两个实用技能

管道操作 %>%

magrittr包,主要定义了4个管道操作符,分另是%>%, %T>%, %$% 和 %<>%。其中,操作符%>%是最常用的,其他3个操作符,与%>%类似,在特殊的使用场景会起到更好的作用。
[R中的管道操作符%>%]https://www.jianshu.com/p/7d034789da41

count统计某列的unique值

count(test,Species) 不同物种中的数量

dplyr处理关系数据

data.frame()函数用法:将两个表进行连接

test1 <- data.frame(x = c('b','e','f','x'), z = c("A","B","C",'D')  stringsAsFactors = F)

stringsAsFactors=FALSE作用:用read.table和其衍生品比如read.csv read.delim,R会自动把字符串string的列辨认成factor。比如你有一个全班成绩数据集,第一列名字,第二列性别,第三列语文成绩,第四列数学成绩。那么第一列和第二列如果你不告诉R
stringsAsFactors=FALSE 那么R就把这两列认成因子模式factor了。

  • 內连接inner_join,取交集
    指仅仅保留x,y中相匹配的观测,相当于取了个交集;以 by="x"为基准,下同
    inner_join(test1, test2, by = "x")
  • 外连接
    1 左连接 left_join
    y中未匹配的观测丢弃,x中未匹配的观测保留,y中以NA填充
    left_join(test1, test2, by = 'x')
    2 全连full_join
    x,y中观测全部保留,相当于取了并集
    full_join( test1, test2, by = 'x')
  • 半连接:semi_join
    保留x中与y匹配的观测,它与内连接的不同在于,取交集但是并不合并y而仅仅是保留了x,y的作用是做了筛选而已
    semi_join(x = test1, y = test2, by = 'x')
  • 反连接:anti_join
    是半连接的反向操作,用y做筛选,找出非相交的部分保留下来
    anti_join(x = test2, y = test1, by = 'x')
  • 简单合并
    在相当于base包里的cbind()函数和rbind()函数;
    注意,bind_rows()函数需要两个表格列数相同
    而bind_cols()函数则需要两个数据框有相同的行数

你可能感兴趣的:(学习小组Day6笔记--魏麻将)