将多行合并为一行多列数据 R

2023-11-25

我有一个数据集,其中以不同方式测量相同的效果,我想比较这些测量结果。我的数据集如下所示:

Study     MType     ID     Insect     Mean     Sd     N
Alla      Fecundity  1      Aphid      .62      .7628  11
Alla      RGR        1      Aphid      -32.8    7.76   11
Ando      Survival   2      Bee        2.34     .67    8
Ando      RGR        2      Bee        4.56     .34    10
Ando      Fecundity  2      Bee        5.32     4.3    20

我想按 ID 号组合行,以便保留每行的 MType、Mean、Sd 和 N(尽管需要更改列名称,以便可以区分列)。

希望最终它看起来像:

Study ID Insect Fecundity.mean Fecundity.Sd Fecundity.N RGR.mean RGR.Sd...etc

一些困难:

  1. 大约有10种不同的类型
  2. 每个 ID 号有 2 到 4 个 MType

我已经搞乱了 reshape 和 tidyr,但我无法弄清楚如何使用它们中的任何一个来做到这一点。请帮忙!


您可以使用reshape通过基本 R。您希望根据这篇文章将数据从长格式转换为宽格式:如何将数据从长格式重塑为宽格式?.

如果您的数据位于data.frame d:

reshape(d, idvar=c("ID", "Study", "Insect"), timevar = "MType", direction="wide")

Results:

  Study ID Insect Mean.Fecundity Sd.Fecundity N.Fecundity Mean.RGR Sd.RGR N.RGR Mean.Survival Sd.Survival N.Survival
1  Alla  1  Aphid           0.62       0.7628          11   -32.80   7.76    11            NA          NA         NA
3  Ando  2    Bee           5.32       4.3000          20     4.56   0.34    10          2.34        0.67          8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多行合并为一行多列数据 R 的相关文章

  • 如何在R中得到一个大的稀疏矩阵? (> 2^31-1)

    我使用一些 C 代码从数据库中获取文本文件 并从该文件创建 dgcMatrix 类型稀疏矩阵Matrix包裹 我第一次尝试构建一个具有超过 2 31 1 个非稀疏成员的矩阵 这意味着稀疏矩阵对象中的索引向量也必须比该限制长 不幸的是 向量似
  • 有没有办法在 RStudio 中调试 RScript 调用?

    假设我从命令行运行 R 脚本 如下所示 Rscript prog R x y z 我想检查某一行的代码 目前 我无法在 RStudio 中以交互方式调试它 因为我不知道如何传递参数 由于它设计为从命令行运行 因此如何通过命令行 RStudi
  • 在 R 中进行 Cox 回归后,将预测危险比列添加到数据帧中

    在 R 中运行 Cox PH 回归后 我需要在数据框中添加预测风险比的列 数据框是面板数据 其中 numgvkey 如果公司标识符 和年龄是时间标识符 您可以从此链接下载一小部分日期 https drive google com file
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • R 中的 NA 替换函数

    我正在尝试替换矩阵中的 NA mat 零 我在用着mat is na mat lt 0 当我有 18946 个变量的 94531 个观察值或更小的矩阵时 效果很好 但我在 22752 个变量的 112039 个观察值的矩阵上尝试它 R 显示
  • R-了解 akima::interp 结果中的 NA 值

    我有以下数据框 ref dat k Intensity Slope 1 0 021467214 33 16 2 0 012444759 33 8 3 0 006079156 33 4 4 0 003792025 33 2 5 0 02276
  • 将列表中的列转换为 R 中的数据框

    我有使用 R 创建的以下列表 set seed 326581 X1 rnorm 10 0 1 Y1 rnorm 10 0 2 data data frame X1 Y1 lst lt replicate 100 df smpl lt dat
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • R 中的发散积分可在 Wolfram 中求解

    我知道我以前问过同样的问题 但由于我是新来的 这个问题问得不好而且不可重现 因此我在这里尝试做得更好 如果我只编辑旧的 可能没有人会读它 我有一个想要积分的二重积分 ff lt function g t exp 16 g exp 8 t t
  • 如何获得属于五分位数的x?

    我正在大学学习使用 R 进行计量经济学项目 所以请原谅我的笨拙 基本上 使用并给出 一个矩阵 股票价格 行 天 列 公司股票价格 另一个矩阵 市值 行 天 列 公司市值 我必须收集第三个矩阵每天观察的属于市值分布第一五分位数的股票价格 然后
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • R:表格格式

    我有一个包含以下列的 Excel 文件 Column1 Column2 Column3 ab bb 0 5 ab bc 0 1 ab cd 0 7 ab dd 0 8 ac bb 0 2 ac bg 0 8 ac ee 0 8 ac dd
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 如何将 ggrough 图表另存为 .png

    说我正在使用R包裹ggrough https xvrdm github io ggrough https xvrdm github io ggrough 我有这个代码 取自该网页 library ggplot2 library ggroug

随机推荐

  • PHP将csv列读入数组

    我有一个 php 函数可以让我将 csv 列 COLUMN NOT LINE 读取到数组或字符串中 先感谢您 csv array map str getcsv file data csv header array shift csv Sep
  • 使用 socket.gethostname 时,socket.getfqdn() 和 socket.gethostname() 给出不同的 IP 地址

    我正在运行一个虚拟机 它提供以下值以及运行代码的时间 通过在网站上执行一些操作 socket getfqdn x vps 01 abc it socket gethostname x vps 01 socket gethostbyname
  • 如果没有断言,pytest 会失败吗?

    今天我的测试失败了 但很高兴成功了 因为我忘记了最后一行相当重要的一行 assert actual expected 我希望机器将来能够发现这个错误 有没有办法让 pytest 检测测试函数是否未断言任何内容 并将其视为测试失败 当然 这需
  • firestore 规则中是否有循环?

    我想知道是否有更简单的方法来实现这个规则 刚刚开始尝试 firestore match emails emailId allow write if request resource data attachments size 0 reque
  • 在C#背后的代码中实现javascript确认框

    我想从代码后面实现javascript确认框 我的要求是在一种方法中我需要提出一个确认框 根据结果我需要实现差异功能 例如 如果确认框确定 则添加税费 如果取消则不加税 我正在尝试这样的事情 但它对我没有帮助 ScriptManager R
  • Netcat:使用 nc -l port_number 而不是 nc -l -p port_number

    这个问题是在这个问题之后 在 openSUSE 中工作的套接字在 Debian 中不起作用 在 Debian 系统上使用套接字时 我必须使用 nc l p port number 来模拟我想要与之通信的服务器 如果我使用 nc l port
  • 使用 Oracle 的块过程 PL/SQL

    我有一个程序 我希望只有一个用户可以同时执行该程序 这就是我的想法 考虑通过 dbms lock 使用命名锁 http download oracle com docs cd B28359 01 appdev 111 b28419 d lo
  • RESTful 应用程序中的乐观锁定

    在工作中 我们正在开发一个 RESTful 应用程序 其中数据层将由 Hibernate 处理 但我们不确定如何处理实体的更新 我们计划执行以下操作 1 客户端通过id请求实体2 Hibernate加载实体 请求的字段 始终带有版本 被复制
  • 如何使用 asyncio 连接阻塞和非阻塞代码

    我正在尝试在事件循环之外使用协程函数 在本例中 我想调用 Django 中的一个函数 该函数也可以在事件循环内使用 如果不让调用函数成为协程 似乎没有办法做到这一点 我意识到 Django 被构建为阻塞的 因此与 asyncio 不兼容 尽
  • Pandas 在第 0 个位置插入空行

    假设有以下数据框 A B 1 2 3 4 5 4 5 6 7 8 我想检查一下是否df 0 0 is nan然后在第 0 个位置插入 pd series np nan 所以在上面的情况下将会是 A B 1 2 3 4 5 4 5 6 7 8
  • 什么是 void `std::allocator`?即:`std::allocator`

    自动生成ROS 机器人操作系统 message C 头文件包含如下类型定义 typedef std msgs Header
  • 从“AutoCompleteTextView”获取当前建议

    如何获得当前最热门的建议AutoCompleteTextView 我有它建议的项目 并且我注册了一个文本更改侦听器 我在同一屏幕上还有一个列表 当他们打字时 我想将列表滚动到当前的 最佳 建议 但我不知道如何访问当前的建议 或者至少是最重要
  • 在 vim 上将项目设置为更高的突出显示优先级

    我想按照讨论显示非 ASCII 字符here 但是当注释中包含非 ASCII 字符时 语法突出显示会消失 调查了一下这个问题 我在 vim 手册中发现较早启动的项目具有更高的优先级 第三项 从help syn priority 当多个语法项
  • 如何以 clang 格式对齐函数参数名称?

    是否可以使用clang format将结构成员和函数参数名称格式化为列 例如 struct int alpha aligned to b of beta unsigned int beta MyObject gamma aligned wi
  • 重写标准 Spring MVC 异常的处理行为

    Spring Boot 似乎有处理某些异常的默认行为 我有一个休息控制器 如果我不处理HttpRequestMethodNotSupportedException in the ControllerAdvice带注释的休息控制器 应用程序返
  • SELECT DISTINCT 值并 INSERT INTO 表

    我想获取一个包含重复多次的值的列 并仅获取该值一次并将其存储以供以后使用 但同时我想在与该不同列相同的行中获取另一个值 A B C 32263 123456 44 32263 123456 45 32263 123456 46 32264
  • C# 导入 C++ dll

    我有一个托管 dll 文件 它将函数从 C dll 导入到托管环境 我在程序中使用了它的一些函数 但问题是 当我使用它时出现此错误 无法加载 DLL Libraries lib dll 找不到指定的模块 HRESULT 异常 0x80070
  • Javascript Fetch API:标头参数不起作用

    这是我的示例请求 var header new Headers Platform Version 1 App Version 1 Platform FrontEnd var myInit method GET headers header
  • 如何在同一个图上绘制箱形图和特定点?

    我们可以绘制如下箱线图 qplot factor cyl mpg data mtcars geom boxplot 并点为 qplot factor cyl mpg data mtcars geom point 你会如何结合两者 但只是为了
  • 将多行合并为一行多列数据 R

    我有一个数据集 其中以不同方式测量相同的效果 我想比较这些测量结果 我的数据集如下所示 Study MType ID Insect Mean Sd N Alla Fecundity 1 Aphid 62 7628 11 Alla RGR 1