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)

大家都在看

  • DNS

    DNS是域名系统(Domain Name System),简单来说就是平时上网输入的URL,如 www.baidu.com 就是域名,而DNS就是将这个域名解析成IP地址,如 ww…

    Linux 2023年6月7日
    086
  • docker-compose安装,yml文件配置

    1、离线安装 https://github.com/docker/compose/releases 移动文件 mv docker-compose-linux-x86_64 /usr…

    Linux 2023年6月14日
    097
  • vscode shellArgs.windows参数如何设置使得powershell终端字符集编码为UTF-8?

    网上的大部分是这个答案: “terminal.integrated.shellArgs.windows”: [“-NoExit”, “/c”, “chcp 65001”] 如果你觉…

    Linux 2023年6月13日
    0107
  • [转帖]shell 学习之for语句

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年5月28日
    0101
  • 基于Redis实现分布式锁

    背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成…

    Linux 2023年5月28日
    0112
  • OpenSSL测试-随机数

    任务详情 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务 使用OpenSSL定义一个私有函数 static int getRandom(char…

    Linux 2023年6月8日
    0110
  • ShardingSphere-proxy-5.0.0分布式哈希取模分片实现(四)

    一、说明 主要是对字符串的字段进行hash取模 二、修改配置文件config-sharding.yaml,并重启服务 # Licensed to the Apache Softwa…

    Linux 2023年6月14日
    083
  • 剑指offer计划31(数学困难)—java

    1.1、题目1 剑指 Offer 14- II. 剪绳子 II 1.2、解法 刚刚好结束了,这个专题,国庆休息,后面再改 1.3、代码 class Solution { publi…

    Linux 2023年6月11日
    0105
  • ASP.NET Core 3.0 : 二十五. TagHelper

    什么是TagHelper?这是ASP.NET Core 中新出现的一个名词,它的作用是使服务器端代码可以在Razor 文件中参与创建和呈现HTML 元素。(ASP.NET Core…

    Linux 2023年6月7日
    0102
  • 常用命-sar

    作者:Outsrkem原文链接:https://www.cnblogs.com/outsrkem/p/14725402.html本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月6日
    093
  • podman对容器映像签名和分发

    熟悉podman 如何使用 Podman 对容器映像进行签名和分发 熟悉podman 此示例容器将运行一个非常基本的 httpd 服务器,该服务器仅为其索引页提供服务 [root@…

    Linux 2023年6月7日
    098
  • SSH的 Write failed: Broken pipe 问题

    问题现象: 表示连接管道已经断开 解决方法: 方法一:客户端配置在客户端的 ~/.ssh/ config文件(如不存在请自行创建)中添加下面内容:ServerAliveInterv…

    Linux 2023年6月8日
    0101
  • 容器的监控:使用cAdvisor,weavescope监控容器

    一.系统环境 二.前言 三.容器监控的原理 四.使用docker stats监控容器 五.部署cadvisor监控容器 六.部署weavescope监控容器 一.系统环境 服务器版…

    Linux 2023年6月7日
    0131
  • 小团队如何妙用 JuiceFS

    早些年还在 ENJOY 的时候, 就已经在用 JuiceFS, 并且一路伴随着我工作过的四家小公司, 这玩意对我来说, 已经成了理所应当不可或缺的基础设施, 对于我服务过的小团队而…

    Linux 2023年6月14日
    0121
  • Django中orm的双重方法

    orm中的双重方法 更新或创建 Draw2DDevice.objects.update_or_create( defaults={‘x’: 777, ‘y’: 777,}, dev…

    Linux 2023年6月14日
    085
  • 计算机系统实验

    实验三 一 实验目的 理解堆栈结构,利用缓冲区进行代码攻击 二 准备工作 配置实验环境(IDA、gcc),阅读实验指导书 三 实验过程 0x01第一关 首先理解堆栈的结构 /* 第…

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