R语言-tidyr和dplyr

一、安装和加载

1、安装并加载tidyr和dplyr包

install.packages("tidyr")
library(tidyr)
install.packages("dplyr")
library(dplyr)

2、读取数据

expression

二、tidyr包操作

%>%    #用于实现将一个函数的输出传递给下一个函数的第一个参数。相当于管道,优先级高于赋值
stocksm % gather(stock, price, -time) #先执行右面的,结果赋值给stocksm

#短数据变成长数据
tidy_gather

三、dplyr包操作

#按id进行排序
dplyr_arrange % group_by(cyl)%>% arrange(desc(wt), .by_group = TRUE)

#筛选行
filter(starwars, hair_color == "none" & eye_color == "black")
filter(starwars, hair_color == "none", eye_color == "black")  #相当于使用 &
filter(starwars, hair_color == "none" | eye_color == "black")

#加管道筛选
starwars %>% filter(mass > mean(mass, na.rm = TRUE))
starwars %>% group_by(gender) %>% filter(mass > mean(mass, na.rm = TRUE))
Result 1 ) %>% arrange( Expression )

#展示指定的GeneId SampleName  Expression 列
dplyr_select %
+     group_by(cyl) %>%
+     summarise(mean = mean(disp), n = n())   #根据cyl分组,统计各组中disp的平均值以及组的大小

#按行合并,行索引
bind_rows(a , c)

#按列合并,列索引
bind_cols(a , c)

#取并集,按列索引
union(a , c)

#取差集,按列索引,保留a不同于c的部分
setdiff(a , c)

#内连接,按行,只保留a、b共有的x1值的行
inner_join(a,b,by="x1")

#全连接,按行,保留全部,空值用NA补齐
full_join(a,b,by="x1")

#左连接,按行,其中a全部保留
left_join(a,b,by="x1")

#右连接,按行,其中b全部保留
right_join(a,b,by="x1")

#a中所有在b中匹配的行
semi_join(a,b,by="x1")

#a中所有在b中不匹配的行
anti_join(a,b,by="x1")

Original: https://www.cnblogs.com/hs3434/p/16658569.html
Author: hs3434
Title: R语言-tidyr和dplyr

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585973/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 多用户共享文件

    假设有三个用户:Tom Jerry Bob.其中,tom和Jerry都属于market部,Bob属于tech部,请在/usr目录下创建两个用户共享的目录market和public,…

    Linux 2023年6月13日
    093
  • 一名研究生的自我修养

    一、如何学习 研究生阶段是学习效率最高的阶段。第一是因为动机纯粹,以前上学这么多年大部分的学习动机只是为了成绩,这个学习动机其实会很大限制同学的主动学习意愿,往往是被动学习,为了成…

    Linux 2023年6月14日
    082
  • samba服务设置与访问共享文件夹

    samba服务设置与访问共享文件夹 linux设置文件夹共享 windows连接共享文件夹(运行->//IP/route) linux连接共享文件夹 1、基本服务安装与配置 …

    Linux 2023年5月27日
    099
  • [ Calibre ] 利用 Calibre LVS 检查网表正确性的最小 rule

    利用 Calibre LVS 检查网表正确性的最小 rule https://www.cnblogs.com/yeungchie/ 顶层验证前先检查网表,再跑完整流程。 check…

    Linux 2023年6月7日
    090
  • 如何使用 systemctl 管理服务

    systemd是一个服务管理器,目前已经成为Linux发行版的新标准。它使管理服务器变得更加容易。了解并利用组成systemd的工具将有助于我们更好地理解它提供的便利性。 syst…

    Linux 2023年6月13日
    076
  • ASP已老,尚能饭否?

    我对ASP的感情,跟大海一样深。我用它实现了第一个动态网页,也用它做了毕业设计,毕业设计的名字是《毕业设计管理系统》(是不是有点绕)。在 PHP 和 ASP.NET、Java 高歌…

    Linux 2023年6月6日
    0106
  • Kafka 配置文件详情

    kafka的配置分为 broker、producter、consumer三个不同的配置 一 、BROKER 的全局配置 最为核心的三个配置 broker.id、log.dir、zo…

    Linux 2023年6月8日
    087
  • Paxos 协议简单介绍

    一、简介 Paxos 协议是少数在工程实践中证实的强一致性、高可用的去中心化分布式协议。Google 的很多大型分布式系统都采用了 Paxos 算法来解决分布式一致性问题,如 Ch…

    Linux 2023年6月16日
    0133
  • DMA 与零拷贝技术

    原文链接:DMA 与零拷贝技术 注意事项:除了 Direct I/O,与磁盘相关的文件读写操作都有使用到 page cache 技术。 1. 数据的四次拷贝与四次上下文切换 很多应…

    Linux 2023年6月16日
    0128
  • jmeter学习记录–05–Beanshell2

    学习beanshell时有不少的例子、遇到不少问题。在此记录下。 测试实例列表 A1:使用Beanshell请求作为测试请求 一个打包的Jar包,直接对其内的方法进行测试。 第一步…

    Linux 2023年5月28日
    0102
  • 类成员变量的初始化

    1-1 类成员变量初始化的分类 类成员变量的初始化可简单分为两类:非静态成员变量的初始化(以下简称”普通初始化”)和静态成员变量的初始化(”静态…

    Linux 2023年6月8日
    0112
  • SpringBoot-JDBC

    SpringBoot-JDBC 8.1 SpringData简介 对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都…

    Linux 2023年6月14日
    097
  • nodejs 环境安装

    Linux 系统安装 nodejs 环境 (root) 找到 nodejs 官网 http:…

    Linux 2023年6月14日
    0136
  • Centos下使用containerd管理容器:5分钟从docker转型到containerd

    一.系统环境 二.前言 三.containerd 四.部署containerd 4.1 安装containerd 4.2 containerd配置文件 4.3 配置containe…

    Linux 2023年6月7日
    0160
  • vue过滤器和生命周期——day02

    vue之过滤器和生命周期——day02 过滤器: 概念:Vue.js 允许你自定义过滤器, 可被用作一些常见的文本格式化。过滤器可以用在两个地方: mustache 插值和 v-b…

    Linux 2023年6月7日
    0125
  • 关于网络安全防护架构中的DMZ区

    公司有一个网站群的业务,应用规模比较大,目前计划是从传统的虚拟机部署方式迁移到内部的私有云。 这种迁移的动作是一个很好的学习机会。在交流的时候的时候,领导有提到现有的架构基本上是参…

    Linux 2023年6月14日
    0101
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球