学习小组Day6-小乐

Day6

今天学习的是R语言最重要的内容,R包,包括镜像的配置,R包的安装及使用,走着

镜像的配置准备

  • 查看镜像
options()$repos
options()$BioC_mirror
  • 运行结果


    查看结果

    分别对应清华源和中科大源,没问题

设置镜像源,应修改profile文件,在Rstudio中打开,并将以下两句保存在文件中,文件位置在/R/etc中

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

R包的安装

install.packages(“要安装的包名称”)    #安装R包
install.packages("名称", repos = "https://mirrors.ustc.edu.cn/CRAN/")    #指定镜像地址
library("包名")    #使用前要先载入R编译环境
detach("package:包名")    #将R包移除环境,但可以重新载入
remove.packages("包名")    #卸载R包,彻底抹杀
  • 注意,用detach("package:包名")并不是卸载,只是移出了环境,用library()后仍可继续使用

神器dplyr的基础函数使用

  • 新增列mutate(test, new = Sepal.Length * Sepal.Width)
    为test新增加一列,名为new,值为Sepal.Length和Sepal.Width相乘
    运行结果
  • 数据选择select()
    select(test,2)选择test的第二列
    运行结果

    select(test,Petal.Width)筛选test中名为Petal.Width的这一列
    运行结果
  • 数据筛选filter()
    与筛选行大同小异,可以按行数,名称,以及数据的特性来筛选
  • 数据重新排序arrange()
    arrange(test,Sepal.Width)对test以Sepal.Width这一列数据进行排序,默认为从小到大
    运行结果

    arrange(test,desc(Sepal.Width))带上desc为从大到小排序
    运行结果
  • 对数据进行汇总summarise()
    summarise(test, mean(Sepal.Length), sd(Sepal.Length))计算test中Sepal.Length这一列的平均数和标准差(也可以用来求极值,求和,平均数,出现次数等,配合group_by进行分组可以实现更多功能)
    运行结果

神器dplyr的实用操作

  • 管道函数%>%
    含义为直接将前一步的数据结果作为参数直接传递给下一步,省略了许多赋值过程
    test%>%group_by(Species)%>%summarise(mean(Sepal.Length),sd(Sepal.Length))如这里即为将test中的Species分组,再求平均数和标准差
    运行结果
  • 统计各种数据出现的次数count
    count(test,Species)统计test数据的Species列中,有哪些数据,各出现了几次
    运行结果

神器dplyr中数据的连接关系

  • 先生成两个数据集t1和t2
    t1 <- data.frame(x = c('a','b','c','x'), y = c("1","B","3",'D'))
    t2 <- data.frame(x = c('a','b','c','d','e','f'), z = c(1,2,3,4,5,6))
    两个数据集
  • 对数据集进行左连接left_join(t1,t2,by='x')因为是左连接,只会保留t1拥有的x对应的y值和z值,而在t2中不存在x与z的关系,找不到对应z值,则为NA
    运行结果
  • 对数据集进行左连接right_join(t1,t2,by='x')因为是右连接,只会保留t2拥有的x对应的y值和z值,而在t1中不存在d、e、f与y的关系,找不到对应y值,则为NA
    运行结果
  • 对数据集进行内连接inner_join(t1,t2,by='x')相当于交集,只会保留t1与t2均拥有的x与其所对应的y值和z值
    运行结果
  • 对数据集进行全连接full_join(t1,t2,by='x')相当于并集,将会保留所有的x于其对应的y值和z值,不存在的为NA
    运行结果
  • 对数据集进行半连接semi_join(t1,t2,by='x')半连接也是取交集,与内连接的不同在于,半连接只是筛选出t1与t2均拥有的x,但并不输出t2的z值,只在t1内部进行筛选
    运行结果
  • 对数据集进行反连接anti_join(t1,t2,by='x')与半连接相反,输出t2中不存在的x值于其对应的y值关系
    运行结果

相同点:半连接与反链接均只对前者进行筛选,不输出后者的数据

  • 数据集的合并
    bind_rows(t1,t2) #要求数据集有相同的列数,不存在的仍输出NA
    bind_cols(t1,r1) #要求数据集有相同的行数
    运行结果

初步学习,还有太多不懂的地方,笔记内有任何问题或错误都欢迎大家批评指出!

今天就到这里,明天继续加油!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容