具有多个因子的分组(因子)数据。错误:大小不兼容 (0),期望 1(组大小)或 1

2024-01-10

这篇文章是后续根据“几个因素”斜率更改 ggplot 中的线条颜色 https://stackoverflow.com/questions/39023962/changing-line-color-in-ggplot-based-on-several-factors-slope/39025244#39025244

我想按“PQ”对数据(如下)进行分组,但是出现以下错误:

“不兼容的大小 (0),期望 1(组大小)或 1”

Data

ID<-c("A_P1","A_P1","A_P1","A_P1","A_P1","A_P2","A_P2","A_P2","A_P2","A_P2","A_P2","B_P1","B_P1","B_P1","B_P1","B_P1","B_P1","B_P1","B_P1","B_P2","B_P2","B_P2","B_P2","B_P2","B_P2","B_P2","B_P2")
Q<-c("C1","C1","C2","C3","C3","C1","C1","C2","C2","C3","C3","Q1","Q1","Q1","Q1","Q3","Q3","Q4","Q4","Q1","Q1","Q1","Q1","Q3","Q3","Q4","Q4")
PQ<-c("A_P1C1","A_P1C1","A_P1C2","A_P1C3","A_P1C3","A_P2C1","A_P2C1","A_P2C2","A_P2C2","A_P2C3","A_P2C3","B_P1Q1","B_P1Q1","B_P1Q1","B_P1Q1","B_P1Q3","B_P1Q3","B_P1Q4","B_P1Q4","B_P2Q1","B_P2Q1","B_P2Q1","B_P2Q1","B_P2Q3","B_P2Q3","B_P2Q4","B_P2Q4")
AS<-c("CF","CF","CF","CF","CF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF")
N<-c("N2","N3","N3","N2","N3","N2","N3","N2","N3","N2","N3","N0","N1","N2","N3","N1","N3","N0","N1","N0","N1","N2","N3","N1","N3","N0","N1")
Value<-c(4.7,8.61,8.34,5.89,8.36,1.76,2.4,5.01,2.12,1.88,3.01,2.4,7.28,4.34,5.39,11.61,10.14,3.02,9.45,8.8,7.4,6.93,8.44,7.37,7.81,6.74,8.5)

df<-data.frame(ID=ID,Q=Q,PQ=PQ,AS=AS,N=N,Value=Value)

产生错误的代码

#calculate slopes for N0 and N1
    df %>% 
      filter(N=="N0" | N=="N1") %>%
      group_by(PQ) %>%
      # use diff to calculate slope
      mutate(slope = diff(Value)) -> dat01

#calculate slopes for N0 and N2
    df %>% 
      filter(N=="N0" | N=="N2") %>%
      group_by(PQ) %>%
      # use diff to calculate slope
      mutate(slope = diff(Value)) -> dat02

此外,我想计算其余“PQ”因子(如果存在)的斜率,即 N0-N3;N1-N2 ...等等


该错误是由于输出的长度差异造成的diff相对于原始数据集。它返回比原始数据少一个元素。因此附加 0 或 NA 即可解决问题

df %>% 
   filter(N=="N0" | N=="N1") %>%
   group_by(PQ) %>% 
   mutate(slope = c(0, diff(Value)))

为了使其紧凑,而不是==, 我们可以用%in%当有多个元素时

df %>%
   filter(N %in%  paste0("N", 0:1)) %>%
   group_by(PQ) %>%
   mutate(slope = c(0, diff(Value)))

关于第二个问题,对于“N”中的所有组合执行此操作,请使用combn on the unique'N' 的元素,filter根据组合值的“N”,按“PQ”分组后,计算diff的“价值”。输出将是list正如我们指定的simplify = FALSE.

combn(as.character(unique(df$N)),2, FUN = function(x) df %>% 
            filter(N %in% x) %>% 
            group_by(PQ) %>%
            mutate(slope = c(0, diff(Value))), simplify = FALSE )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有多个因子的分组(因子)数据。错误:大小不兼容 (0),期望 1(组大小)或 1 的相关文章

  • 重复测量引导统计数据,按多个因素分组

    我有一个看起来像这样的数据框 但显然还有更多行等 df lt data frame id c 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 cond c A A B B A A B B A A B B A A B B co
  • 如何删除箱线图上的刻度线

    我试图从箱线图中删除 x 轴刻度线 但保留与刻度线关联的标签 这在基础 R 中可能吗 colors lt c lightskyblue3 gray78 gold1 wheat1 boxplot avgscore module data mi
  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • 以引用透明的方式从函数的省略号参数中提取符号

    事情又发生了 我正要按下发布答案按钮的问题被删除了 我正在寻找一种方法来从函数的省略号参数中提取绑定到符号的对象的值以及符号 也就是说 我试图以引用透明的方式从省略号中提取符号 我尝试过使用替代品和lazy dots 但没有成功 funct
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • 将每列的值乘以 R 中另一个 data.frame 中的权重

    我有两个data frames df and weights 代码如下 df看起来像这样 id a b d EE f 1 this 0 23421153 0 02324956 0 5457353 0 73068586 0 5642554 2
  • 在 R 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 使用 ggmap 截断密度多边形

    我在使用 R ggmap 绘制密度图时遇到问题 我的数据如下所示 gt head W date lat lon dist 1 2010 01 01 31 942 86 659 292 415 2 2010 01 10 32 970 84 1
  • 将不均匀的层次列表转换为数据框

    我认为还没有有人问过这个问题 但是有没有一种方法可以将具有多个级别和不均匀结构的列表的信息组合成 长 格式的数据帧 具体来说 library XML library plyr xml inning lt http gd2 mlb com c
  • 如何从 R 读取 PDF 元数据

    我们很好奇 有没有一种方法可以从 R 读取 PDF 元数据 例如下面显示的信息 通过搜索我对此无能为力 r pdf metadata在当前的问题库中 非常欢迎任何指点 我想不出纯 R 的方法来执行此操作 但您可能可以安装您最喜欢的 PDF
  • read_html(url) 和 read_html(content(GET(url), "text")) 之间的区别

    我正在看这个很棒的答案 https stackoverflow com a 58211397 3502164 https stackoverflow com a 58211397 3502164 解决方案的开头包括 library httr
  • 删除极坐标图边缘的多余空间和圆环

    我有一个极坐标图ggplot2我已经非常接近完成 相当简单的情节 我已经能够在删除矩形边框方面获得帮助 但我不需要删除最后一个范围轮廓与带有方位角标签的绘图周围的环之间的额外空间 我希望该图的边界为 15 000 而不是 15 214 我编
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • 如何绘制具有显着性水平的箱线图?

    前段时间问了一个关于绘制箱线图的问题Link1 https stackoverflow com questions 14604439 plot multiple boxplot in one graph 我有一些包含 3 个不同组 或标签
  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points
  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c

随机推荐

  • 聊天中的 Python 客户端

    我在尝试构建聊天客户端时遇到问题 我刚刚开始 这是我的代码 import socket my socket socket socket socket AF INET socket SOCK STREAM my socket connect
  • NetLogo 高效创建任意度数分布的网络

    这是一个后续问题NetLogo 创建固定数量链接的有效方法 https stackoverflow com questions 32967388 netlogo efficient way to create fixed number of
  • 优化 Swift 中的嵌套 for 循环

    我得到了这个方法来计算白色像素UIImage 我需要遍历所有像素来增加我找到的每个白色像素的计数器 我正在尝试提高它的性能 但我找不到更好的方法 有任何想法吗 func whitePixelCount gt Int let width In
  • Lambda 表达式常用语法

    我可以遵循任何简单的语法或规则来在 C 中构建 lambda 表达式 吗 我阅读了一些文章并了解了 lambda 表达式是什么 但如果我有通用语法或规则 那将会有所帮助 有多种表达 lambda 的方法 具体取决于具体场景 一些示例 sim
  • Magento - JavaScript 错误阻止添加和保存类别

    我正在尝试在 Magento CE 1 8 1 的本地安装上添加新的根类别 但是当我按下 保存类别 按钮时 我在控制台中收到以下错误 并且屏幕上没有任何反应 我尝试重新安装所有核心文件等 但似乎没有任何方法可以解决此问题 Uncaught
  • Gdata包perl问题

    我正在尝试遵循这个简单的 2 分钟视频教程 将 Excel 电子表格作为数据框导入到 R 中 http www screenr com QiN8 http www screenr com QiN8 我遵循了每个步骤 包括在我的 Win 7
  • 通过 HttpClientFactory 实现实现动态代理

    I have Asp Net Core WebApi 我正在根据以下方式发出 Http 请求HttpClientFactory模式 https learn microsoft com en us aspnet core fundamenta
  • 浅层渲染依赖于 TweenLite 的组件

    我正在尝试使用 React 组件进行简单的单元测试 但我不断收到 C work portfolio node modules gsap TweenMax js 13 import TweenLite TweenPlugin Ease Pow
  • 如何在javascript文件之间共享数据?

    我 我认为 有 js 的独特问题 我正在使用量角器和 Jasmine 编写测试 我需要在 js 文件之间共享数据 有什么办法可以做到这一点吗 我找到的所有解决方案都是针对网页的 我只使用 js 文件 我期待您的迅速回复 如果有任何信息缺失
  • 使用 HttpClient 写入正文请求

    我想用 XML 内容类型编写请求正文 但我不知道如何使用 HttpClient 对象 http hc apache org httpclient 3 x apidocs index html http hc apache org httpc
  • 联合身份验证令牌保存在哪里 [WIF STS]?

    当我开始探索 WIF 时 我对以下几点有疑问 在Windows Identity Foundation WIF 中 查看安全令牌服务 STS 我想知道在哪里联合身份验证令牌正在被拯救吗 我认为它在浏览器 cookie 中 如果是的话 有人可
  • 如何在 Debian Wheezy 上安装 git 1.8 或更高版本

    我正在尝试安装更高版本的 git 主要是 1 8 或更高版本 如果我尝试使用安装它apt get install git我最终安装版本1 7 10 4 我已经尝试使用以下方法更改存储库 add apt repository ppa git
  • session._get_current_object() 到底返回什么对象?

    我正在使用 Flask 努力了解会话如何工作的细节 我正在使用 Python 3 6 1 烧瓶0 12 2 烧瓶文档明确指出 http flask pocoo org docs 0 12 api flask session 粗体是我的 会话
  • 按列逐行匹配两个文件 - 无键

    我有两个包含 80 000 多条长度相同的记录的大文件 我需要按文件的前 8 个字符逐行比较两个文件 文件一的第一行将与文件二的第一行进行比较 文件一的第二行将与文件二的第二行进行比较 样本文件1 01234567blah blah1 11
  • 如何修复此错误:构建 FutureBuilder 时抛出以下断言(脏,状态:_FutureBuilderState#89711):

    这是错误 有问题的小部件是 FutureBuilder 构建函数绝不能返回 null 要返回导致建筑小部件填充可用空间的空白空间 请返回 Container 要返回占用尽可能少空间的空白空间 请返回 Container width 0 0
  • 将信息从 java 传递到 c++ 的最佳方式是什么?

    我有一个 java 应用程序 我需要将一些信息传递给 C 程序 有人建议我使用一些简单的套接字编程来做到这一点 这是最好的方法吗 如果不是 还有什么替代方案 如果是这样 我应该如何学习套接字编程 您有几个选择 将文件从 Java 传递到 C
  • 如何调试 move_uploaded_file 的问题?

    我有一个像这样的表格
  • 通过 wifi 传输 ipad 到 ipad 文件

    通过 wifi 将文件从一台 ipad 传输到另一台 ipad 的最佳方法是什么 我知道如何处理 wifi 网络连接 但我需要知道将图像 视频等从一台 ipad 传输到另一台 ipad 的最有效方法 您可能想看看https github c
  • 异步数据连接 iOS

    我已经为我当前正在开发的应用程序编写了一个同步类 由于数据量很大 它首先获取数据计数 然后批量下载NSOperationQueue 这一切都运行良好 我的同步算法运行得很快 其工作方式如下 void synchroniseWithCompl
  • 具有多个因子的分组(因子)数据。错误:大小不兼容 (0),期望 1(组大小)或 1

    这篇文章是后续根据 几个因素 斜率更改 ggplot 中的线条颜色 https stackoverflow com questions 39023962 changing line color in ggplot based on seve