从 R 中的 Facet_wrap ggplot2 中删除一个级别/组

2024-03-31

我的 tbl_df:

> str(p2p_dt_SKILL_A)
Classes ‘tbl_dt’, ‘tbl’, ‘data.table’ and 'data.frame': 693 obs. of  35 variables:
 $ Patch          : Factor w/ 7 levels "BVG1","BVG11",..: 1 2 3 4 5 6 7 1 2 3 ...
 $ Skill          : Factor w/ 15 levels "A","BROADBAND",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Date           : Date, format: "2015-12-04" "2015-12-04" "2015-12-04" "2015-12-04" ...
 $ SOD_FWIH_A     : num  1.09 1.14 1.09 1.1 1.09 1.07 1.09 1.07 1.12 1.07 ...
 $ Prod_MWF       : num  5.06 5.06 5.44 5.34 4.22 4.72 4.89 4.68 4.68 5.22 ...
 $ Prod_MA        : num  4.41 4.41 4.81 4.41 4.68 4.15 4.26 4.44 4.44 4.63 ...
 $ Prod_DL        : num  3.43 3.49 3.45 3.57 3.43 3.47 3.28 3.44 3.42 3.72 ...

使用 ggplot2 创建以下线图:

ggplot(p2p_dt_SKILL_A,aes(x=Date,y=Prod_DL)) +
        geom_line(data = p2p_dt_SKILL_A[p2p_dt_SKILL_A$Patch %in% c("BVG1"),],aes(colour="red"),lwd=1.3) +
        geom_smooth() +
        scale_x_date(labels=date_format("%b-%y"),breaks ="1 month")+
        geom_vline(xintercept = as.numeric(p2p_dt_SKILL_A$Date[p2p_dt_SKILL_A$Date=="2015-09-18"]))+
        geom_vline(xintercept = as.numeric(p2p_dt_SKILL_A$Date[p2p_dt_SKILL_A$Date=="2015-10-02"]))+
        geom_vline(xintercept = as.numeric(p2p_dt_SKILL_A$Date[p2p_dt_SKILL_A$Date=="2015-10-23"]))+
        theme(axis.title.y = element_text(size = 15,face="bold",color="red"),
              plot.title = element_text(size = 15,lineheight = .8,face="bold",color="red"),
              axis.title.x = element_blank(),
              legend.position="none")

现在我正在尝试使用facet_wrap但没有"BVG1" Patch。但facet_wrap也获取了BVG1补丁:

ggplot(p2p_dt_SKILL_A,aes(x=Date,y=Prod_DL)) +
        geom_line(data = p2p_dt_SKILL_A[p2p_dt_SKILL_A$Patch != "BVG1",],aes(colour="red"),lwd=1.3) +
        scale_colour_discrete(drop = FALSE)+
        geom_smooth() +
        geom_line(stat = "hline", yintercept = "mean")+
        scale_x_date(labels=date_format("%b-%y"),breaks ="2 month")+
        geom_vline(xintercept = as.numeric(p2p_dt_SKILL_A$Date[p2p_dt_SKILL_A$Date=="2015-09-18"]))+

         geom_vline(xintercept = as.numeric(p2p_dt_SKILL_A$Date[p2p_dt_SKILL_A$Date=="2015-10-02"]))+
         geom_vline(xintercept = as.numeric(p2p_dt_SKILL_A$Date[p2p_dt_SKILL_A$Date=="2015-10-23"]))+
        ylab("DL Prod for All Skills")+
        ggtitle("BVG1 DL Prod for All Skills 2014-2015")+
        theme(axis.title.y = element_text(size = 15,face="bold",color="red"),
              plot.title = element_text(size = 15,lineheight = .8,face="bold",color="red"),
              axis.title.x = element_blank(),
              legend.position="none")+
        facet_wrap(~Patch, ncol = 3)

如何获得facet_wrap只打印自BVG11 to BVG16并排除BVG1 group?

我尝试使用不包括 BVG1 的新数据框,但它打印效果不佳,并且线条遍布各处,例如:

som_data <- p2p_dt %>%
                        filter(Patch != "BVG1" & Skill %in% c("A"))

> str(som_data)
Classes ‘tbl_dt’, ‘tbl’, ‘data.table’ and 'data.frame': 594 obs. of  39 variables:
 $ Patch          : Factor w/ 6 levels "BVG11","BVG12",..: 1 2 3 4 5 6 1 2 3 4 ...
 $ Skill          : Factor w/ 1 level "A": 1 1 1 1 1 1 1 1 1 1 ...
 $ Date           : Date, format: "2015-12-04" "2015-11-27" "2015-11-20" "2015-11-13" ...
 $ SOD_FWIH_A     : num  1.14 1.12 1.15 1.09 1.13 1.14 1.15 1.16 1.14 1.11 ...
 $ Prod_MWF       : num  5.06 4.68 4.69 4.76 4.63 4.98 4.45 5.12 4.44 4.54 ...
 $ Prod_MA        : num  4.41 4.44 4.14 5.63 4.86 4.97 4.65 4.99 4.52 4.9 ...
 $ Prod_DL        : num  3.49 3.42 3.6 3.29 3.19 3.1 3.18 3.28 3.26 3.21 ...

使用上面新创建的数据框,它创建了以下图表,并且平均值也不正确

ggplot(som_data,aes(x=Date,y=Prod_DL)) +
        geom_line(aes(colour="red"),lwd=1.3) +
        geom_smooth() +
        geom_line(stat = "hline", yintercept = "mean")+
        scale_x_date(labels=date_format("%b-%y"),breaks ="2 month")+
        geom_vline(xintercept = as.numeric(som_data$Date[som_data$Date=="2015-09-18"]))+
        geom_vline(xintercept = as.numeric(som_data$Date[som_data$Date=="2015-10-02"]))+
        geom_vline(xintercept = as.numeric(som_data$Date[som_data$Date=="2015-10-23"]))+
        ylab("DL Prod for All Skills")+
        ggtitle("BVG1 SOMs DL Prod for All Skills 2014-2015")+
        theme(axis.title.y = element_text(size = 15,face="bold",color="red"),
              plot.title = element_text(size = 15,lineheight = .8,face="bold",color="red"),
              axis.title.x = element_blank(),
              legend.position="none")+
        facet_wrap(~Patch)

有任何想法吗???


我看不出问题出在哪里。这是您提供的数据的一个最小示例。

library(dplyr)
# I first need to get rid of the data.table
sample_data <- as.data.frame(sample_data)
# I don't want all those other variables you gave me either..
sample_data <- select(sample_data, Date, Prod_DL, Patch)

# Now filter out the Patch that we don't want
sample_data2 <- filter(sample_data, Patch != "BVG1")

# Create a minimal plot
ggplot(sample_data2, aes(x = Date, y = Prod_DL)) +
  geom_line(colour="red", lwd = 1.3) +
  geom_smooth() +
  facet_wrap(~Patch, ncol = 3)

不完全是一个伟大的情节(数据有限),但只有六个面板。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 R 中的 Facet_wrap ggplot2 中删除一个级别/组 的相关文章

  • 从日期变量创建月末日期

    我有一个包含日期变量的大型数据框 它反映了该月的第一天 有没有一种简单的方法来创建代表该月最后一天的新数据框日期变量 以下是一些示例数据 date start month seq as Date 2012 01 01 length 4 by
  • 如何在 R 中合并同名列表中的数据框?

    我有一个包含很多数据框的列表 如果它们具有相同的名称 我想合并它们 即合并所有具有相同名称 a 和 b 的数据框 像这样 a lt aaaaa b lt bbbbb c lt ccccc g lt list df1 lt data fram
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • 将 ftransform 与折叠 R 包中的 fgroup_by 一起使用

    我正在尝试重现以下输出dplyr代码与R包裹collapse dplyr Code library tidyverse starwars gt select name mass species gt group by species gt
  • R中的重叠矩阵

    我有以下数据框 id channel 1 a 1 b 1 c 2 a 2 c 3 a 我想创建并重叠矩阵 它基本上是一个方阵 行和列标签为 a b c 表中的每个条目显示每个通道共有多少个 id 例如 在上面的例子中 矩阵看起来像 a b
  • 警告消息 - 来自 dummies 包的 dummy

    我正在使用 dummies 包为分类变量生成虚拟变量 其中一些变量具有两个以上类别 testdf lt data frame A as factor c 1 2 2 3 3 1 B c A B A B C C C c D D E D D E
  • 在R中循环子文件夹

    我正在 R 环境中包含多个子文件夹的文件夹中工作 我想要循环遍历多个子文件夹 然后在每个子文件夹中调用 R 脚本来执行 我想出了下面的代码 但我的代码似乎添加了 到子文件夹列表 我收到错误 文件中的错误 文件名 r 编码 编码 无效的 描述
  • 如何在 R 中的 for 循环内将值存储在向量中

    我正在开始使用 R 但我对以下问题感到非常沮丧 我试图将 for 循环内完成的某些计算的值存储到我之前定义的向量中 问题是如何进行索引 因为for循环迭代代码的次数取决于用户的输入 所以变量i不一定要从1开始 它可以从80开始 for举个例
  • R Shiny:如何将无功值从闪亮模块返回到主服务器功能?

    我有一个简单的玩具示例 它使用 add removeBtn 模块在 第一个 模块中添加和删除 UI 我需要跟踪单击 添加 删除 的次数 如果我不使用模块 这很容易 但我试图在嵌套模块的上下文中执行此操作 代码如下 但基本上 我似乎无法访问主
  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • 从 data.frame 在 ggplot 图例中添加信息

    我想在图例中添加信息 哪个传感器具有该值 这是我的代码 z lt data frame a c sensor 1 sensor 2 sensor 3 sensor 4 sensor 5 sensor 6 sensor 7 sensor 8
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • 在 R 中提取 data.frames 列表的名称以及 data.frame 中的值

    在下面的代码中 j是 data frames 的命名列表 我想知道是否有办法 a 提取变量的数值 即one short and one long 在 data frames 内并附加它们的相关名称 即 AAA or BBB or CCC 到
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 如何根据 ggplot2 中的汇总数据创建堆积条形图

    我正在尝试使用 ggplot 2 创建堆积条形图 我的宽格式数据如下所示 每个单元格中的数字是响应的频率 activity yes no dontknow Social events 27 3 3 Academic skills works
  • 当将遗传算法与 lme4 一起使用时,glmulti 无限期运行

    我在 R 中使用 glmulti 进行模型平均 我的模型中有大约 10 个变量 使得详尽的筛选不切实际 因此我需要使用遗传算法 GA 调用 method g 我需要包含随机效应 因此我使用 glmulti 作为 lme4 的包装器 此处提供
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso

随机推荐

  • 禁用所选文件的“文档注释”警告

    Xcode 能够检查文档注释问题 并在出现问题时报告警告 例如 我使用 CocoaPods 将 Facebook SDK 添加到我的项目中 在文件中的某个时刻FBError h有以下代码 typedef NS ENUM NSInteger
  • 如何使用 sqlplus 或 sql Developer 云连接连接到 Azure Oracle 12c 数据库

    我在 azure 中有 2 个虚拟机 一个是数据库服务器 另一个是 Web 服务器 我可以获得这些服务器的远程桌面连接 并且 Web 服务器可以连接到数据库 sqlplus user password internal network ip
  • jsTree通过ajax加载子节点

    下面发布的代码通过 ajax 请求加载我的树的根元素 我的树非常大 因此我无法一次加载所有项目 因此我需要通过请求子级提供特定 ID 来加载元素 如何通过点击节点通过ajax加载元素 jstree demo div jstree plugi
  • Bootstrap 3 导航下拉菜单

    我使用带有下拉菜单的导航栏 Bootstrap 3 我调整浏览器窗口的大小 我打开菜单 我调整浏览器窗口大小 gt 767px 我打开下拉菜单 在导航栏中 问题 下拉菜单中出现滚动条 见下图 我的 nav 元素是相对位置
  • Mongod 错误:98 无法锁定文件:/data/db/mongod.lock 资源暂时不可用。 mongod 实例是否已在运行?

    2017 06 12T13 06 18 407 0300 I 存储 initandlisten initAndListen 中出现异常 98 无法锁定文件 data db mongod lock 资源暂时不可用 mongod 实例是否已在运
  • 角度材质垫 - 根据最长选项宽度选择宽度

    我有一个带有选项的垫选择 我希望将其内联设置为文本 并且下拉菜单的长度与最长的选项一样长 我可能可以使用 js css vanilla 风格进行一些黑客攻击 但正在寻找更好的解决方案 有什么想法吗
  • Dart:如何创建一个空列表作为默认参数

    我有多个列表 如果没有为它们分配任何内容 则默认情况下它们需要为空 但我收到这个错误 class Example List
  • 如何覆盖 tdalign="center"?

    据收集自为什么align center 不覆盖 text align right https stackoverflow com questions 2546857 why aligncenter not overriding on tex
  • 什么是同步和异步方法?

    什么是同步方法 什么是异步方法 同步方法和异步方法有什么区别 什么时候必须使用同步或异步方法 我问这些问题是因为我不明白 public async void ReadData filepath CreateDoc hello lt Why
  • GWT Dev 模式和外部服务器出现间歇性序列化异常

    我有一个 GWT 应用程序 它在开发模式下与 GWT 的嵌入式码头服务器完美运行 但是 我需要转向使用外部码头服务器 出于各种原因 我遵循了 GWT 文档编译与调试 http www gwtproject org doc latest De
  • 致命错误:从无效上下文调用 private MyObject::__construct()

    在 PHP 中创建新对象时 我收到以下错误消息 Fatal error Call to private MyObject construct from invalid context我只是创建新对象 而不尝试显式调用构造函数 有谁知道发生了
  • 使用嵌入文本文件中的 File.ReadAllLines

    我一直在应用迄今为止在 Bob Tabors 绝对初学者系列中学到的知识 并为我女儿编写了一个小型控制台文字游戏 需要我生成一个随机的 5 个字母单词 我以前使用过File ReadAllLines path 从我的系统上的文本文件 wor
  • 如何限制谁可以在 github 存储库上合并为 master?

    我在我的 Github 存储库上进行了设置 主分支检查 激活 以下内容的分支保护规则 合并前需要审查请求请求 所需批准审稿人 1 包括管理员 限制谁可以推送到匹配的分支 然后我面临的情况是 团队中至少有一个人必须批准 PR 然后有人才能将自
  • 将Python源代码拆分到单独的目录中?

    以下是我的公司 foo com 使用的一些各种 Python 包 com foo bar web com foo bar lib com foo zig web com foo zig lib com foo zig lib lib1 co
  • 在函数内用 $ 索引数据框?

    许多 R 教科书鼓励使用 从 data frames 检索变量 列 但是 我发现这在函数内部不起作用 我不明白为什么 data BOD print BOD These work BOD demand BOD demand This work
  • 以特定格式将数据存储在txt文件中

    我的问题与我之前的问题相关 如何以特定格式显示txt文件中的数据 https stackoverflow com questions 731917 how to display data from txt file in specific
  • jQuery UI 选项卡禁用选项卡导航

    我尝试使用禁用选项卡导航 var tabs tabs tabs select function event ui return false 但是 这也会禁用我用于导航的流链接 input nexttab click function var
  • Form.ShowDialog() 并处置

    如果我有这样的方法 public void Show Form1 f new Form1 f ShowDialog 我还需要调用 dispose 吗即使它将超出范围 也将符合垃圾回收的条件 从一些测试来看 多次调用此 Show 在某些时候
  • Chrome 84 中缩小后的图像模糊

    最近一次 Google Chrome 更新后 我网站上的 Retina 图像变得模糊 它们仍然是视网膜图像 当我在新选项卡中打开图像时 它是双倍尺寸的图像 但由于某种原因 它们看起来模糊就像非视网膜图像一样 因此 图像的缩小算法似乎有问题
  • 从 R 中的 Facet_wrap ggplot2 中删除一个级别/组

    我的 tbl df gt str p2p dt SKILL A Classes tbl dt tbl data table and data frame 693 obs of 35 variables Patch Factor w 7 le