R:将多列转换为单列[重复]

2024-05-02

我有一个看起来像这样的数据框

+---------+--------+--------+--------+-------+
|   ID    | week1_t| week1_a| week2_t|week2_a|
+---------+--------+--------+--------+-------+
|    1    | 12     | 22     |  17    |   4   |
|    1    | 15     | 32     |  18    |   5   |
|    1    | 24     | 12     |  29    |   6   |
|    2    | 45     | 11     |  19    |   8   |
|    2    | 23     | 33     |  20    |   10  |
+---------+--------+--------+--------+-------+

有 48 列(第 1 - 24 周),带有“t”和“a”后缀。我想将所有周列合并为一个“周”列,如下所示:

+---------+--------+--------+--------
|   ID    | week   |  t     |  a    |
+---------+--------+--------+--------
|    1    | 1     | 22      |  17   |
|    1    | 2     | 32      |  18   |
|    1    | 3     | 12      |  19   | 
|    1    | 5     | 33      |  20   | 
+---------+--------+--------+-------

我该如何在 R 中进行这种转换?我想不出在多个 if 语句和 for 循环之外执行此操作的方法。

Data

dd <- read.table(header = TRUE, text = "ID week1_t week1_a  week2_t week2_a
  1      12      22       17       4   
  1      15      32       18       5   
  1      24      12       29       6   
  2      45      11       19       8   
  2      23      33       20      10")

您可以使用data.table melt:

library(data.table)
setDT(dd)
melt(dd, id = 1, measure=patterns("_t$", "_a$"), value.name = c("t", "a"), 
     variable.name = "week")

    ID week  t  a
 1:  1    1 12 22
 2:  1    1 15 32
 3:  1    1 24 12
 4:  2    1 45 11
 5:  2    1 23 33
 6:  1    2 17  4
 7:  1    2 18  5
 8:  1    2 29  6
 9:  2    2 19  8
10:  2    2 20 10

正如您可以阅读的?melt:

measure.vars 现在还接受字符/整数向量列表 熔入多列 - 即熔入多个值 同时列。使用函数模式提供多种 方便的图案。请参阅示例部分

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

R:将多列转换为单列[重复] 的相关文章

  • 使用 R 从字符串中提取函数参数

    最好使用stringr包 我想创建一个函数extract 以字符串向量作为参数 vec lt c div span icon hospital user i18n t Enrolments or i18n t Paper a string
  • 无法在 Document-Term-Matrix 中看到 `RTextTools::toLower()` 文本的结果

    我尝试创建一个矩阵 为此我想降低文本 为此 我使用此 R 指令 matrix create matrix tweets 1 toLower TRUE language english removeStopwords FALSE remove
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有
  • warnings() 在函数内不起作用?如何解决这个问题?

    op lt options warn 0 although doesn t work for any value of warn assign last warning NULL envir baseenv thisDoesntWork l
  • 使用 data.table 进行分组并选择最短日期

    My Data df1 lt structure list ID c A A A B B C c1 1 6 c2 1 6 myDate c 01 01 2015 02 02 2014 03 01 2014 09 09 2009 10 10
  • 具有动态变量数的公式

    假设有一些 data framefoo data frame想要找到目标列的回归Y由其他一些专栏 为此目的 通常使用一些公式和模型 例如 linear model lt lm Y FACTOR NAME 1 FACTOR NAME 2 fo
  • 连接多个用户的 R 闪亮会话

    最小可重现示例 library shiny ui lt fluidPage actionButton button1 Run 1 actionButton button2 Run 2 server lt function session i
  • matplotlib 中的 R 风格数据轴缓冲区

    R 绘图自动设置 x 和 y 限制 以在数据和轴之间留出一些空间 我想知道 matplotlib 是否有办法自动执行相同的操作 如果没有 是否有一个好的公式或 经验法则 来说明 R 如何设置其轴限制 在 matplotlib 中 您可以通过
  • stat_function 从函数生成平线

    我有以下代码 library ggplot2 f lt function x if x gt 2 1 x 0 3 else 0 graph lt ggplot data frame x c 0 10 aes x graph lt graph
  • ggplot 图例标签内的希腊字母、符号和换行符

    我在尝试着 有换行符 自动或强制 对齐文本 左对齐或左右对齐 有希腊字母和百分号 在 gglot 图例标签内 我尝试了几种方法 但我似乎无法将我读到的所有技巧结合起来 我可以通过插入来换行 n进入标签 但这似乎不适用于希腊字母 不适用于图例
  • R data.table 连接不等式条件

    我想使用 data table 包根据多个不等式条件对数据进行子集化 data table 手册中的示例展示了如何使用字符变量执行此操作 但不显示数字不等式 我还了解了如何使用子集函数来执行此操作 但我真的很想利用 data table 二
  • 在`rmarkdown`中,如何在句子中添加图标?

    In rmarkdown 如何在句子中添加图标 例如如下 如何添加markdown icon单词 Markdown 和 is 之间 有一个很好的 R 包 可以轻松下载 RMarkdown 文档并将图标添加到其中 icons https gi
  • 在 R 中导入 csv 文件时如何保留前导零?

    当我写一个 csv来自 R 的文件 其中我的组名称以前导零值开头 前导零被保留 但是当我导入 csv前导零被删除 组名称被转换为整数 当我导入一个组时 如何保留组名称中的前导零 csvR 中的文件 Example df lt data fr
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 空间数据xyz到矩阵

    我有一个大数据框 100 000 行 其中包含 LON LAT VALUE 我想将其转换为矩阵 EPSG 中的坐标 3035 我使用以下命令尝试了 reshape2 包 acast df lon lat value var value 效果
  • 函数“[<-”将_替换_一个元素,但不会追加_元素_

    我在使用时注意到以下几点 lt 我成功于替换元素但不位于追加向量的一个元素 例子 VarX lt integer VarX 1 lt 11 lt VarX 2 22 VarX 1 11 Expected the value of VarX
  • 如何从数据框中删除少于 5 个观察值的个体 [重复]

    这个问题在这里已经有答案了 为了澄清这个问题 我将简要描述数据 中的每一行data frame是一个观察值 列代表与该观察值相关的变量 包括 观察到什么个体 观察时间 观察地点等 我想排除 过滤观察值少于 5 个的个体 换句话说 如果 in
  • R data.table fwrite 到 fread 空间分隔符并清空

    我在使用 fread 以 作为分隔符和散布的空白值时遇到问题 例如 这个 dt lt data table 1 5 1 5 1 5 make a simple table dt 3 V2 NA add a blank in the midd
  • 如果条目出现次数少于 x 则删除数据框中的行

    我有以下数据框 称之为 df 它是由三个向量组成的数据框 姓名 年龄 和 邮政编码 df Name Age ZipCode 1 Joe 16 60559 2 Jim 20 60637 3 Bob 64 94127 4 Joe 23 9412
  • 通过 R 中的数据子集执行计算

    我想对数据框的 PERMNO 列中的每个公司编号进行计算 其摘要可以在此处查看 gt summary companydataRETS PERMNO RET Min 10000 Min 0 971698 1st Qu 32716 1st Qu

随机推荐

  • Azure Pipelines 中的 NG 构建失败,出现 NPM 错误 134

    大约 50 的托管构建失败 并出现 npm 错误 134 我正在使用托管 vs2017 构建具有相同构建定义的相同提交 我正在使用 Angular CLI 构建 Angular 应用程序 npm 任务调用 run build 它在我的 pa
  • TypeScript GUID 类? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道在 TypeScript 中像 GUID UUID 这样的 C 的良好 可靠的实现吗 我自己可
  • 当用户控件可见时将焦点设置到它

    I am showing a MessageBox and want the user to be able to copy the contents of the message using CTRL C The problem is t
  • 如何在应用程序启动时获取当前的 Facebook 访问令牌?

    在应用程序启动时 我需要知道用户是否已登录或未显示登录页面 我的第一次尝试是打电话AccessToken getCurrentAccessToken 但这不起作用 请参阅https stackoverflow com a 29854249
  • iOS 相机视频实时预览与拍摄的照片有偏移

    我正在使用相机工作 相机以实时反馈的形式呈现给用户 当用户单击时 就会创建图像并将其传递给用户 问题是图像被设计为位于最顶部位置 该位置高于实时预览显示的位置 您知道如何调整相机的框架 使实时视频的顶部与他们要拍摄的照片的顶部相匹配吗 我以
  • Apksigner 不验证签名

    我试图使用 apksigner 验证最新 Gmail 应用程序 版本 8 11 25 224 的签名 但失败了 I used apksigner verifiy verbose print certs
  • 使用 d3 在两个节点之间绘制多条边

    我一直在关注 Mike Bostock 的代码这个例子 http bl ocks org 1153292学习如何在 d3 中绘制有向图 并且想知道如何构建代码 以便可以在图中的两个节点之间添加多个边 例如 如果上例中的数据集定义为 var
  • 在 MatterJS 中如何通过标签访问主体?

    这个问题被问到了here https stackoverflow com questions 70477975 how to access a constraint by its label in matter js但没有给出答复 为了澄清
  • 获取整个 Jupyter Notebook 的当前内容

    我有一个正在运行的 Jupyter Notebook 我希望能够从 Python 中访问当前 Jupyter Notebook 的源代码 我的最终目标是将其传递到ast parse这样我就可以对用户的代码进行一些分析 理想情况下 我能够做这
  • R:返回数据框中匹配的行数和列数

    emperor lt rbind cbind Augustus Tiberius cbind Caligula Claudius 如何返回包含序列 us 的所有单元格的行号和列号 即 1 1 1 2 2 2 我们可以使用grepl得到一个v
  • Spring data mongodb字段自增

    如何使集合中的字段自动递增 Document public class Product Id private BigInteger id private String name need to be auto inc private int
  • 如何在我的应用程序中从存折访问通行证?

    我正在创建应用程序 在其中添加并显示从 iOS6 存折应用程序到我的应用程序的通行证 但是当我在模拟器上运行应用程序时 它显示添加的通行证 但是当我在设备上运行相同的应用程序时 它显示我的存折是空的 我已关注iOS6 教程集成存折您的应用程
  • Windows Azure VM (Iaas) 意外重启 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我在 Windows Azure Iaas 上有许多虚拟机托管一个网站 有许多负载平衡的前端虚拟机 全部通过 SQL Express 连接到单个虚拟机
  • 在 Play 框架规范中设置 PhantomJSDriver 上的 Accept-Language

    如何使用 Play Framework 2 2 规范中的特定 Accept Language 语言标头配置 PhantomJSDriver 鉴于此代码 import org specs2 mutable import org specs2
  • 为什么界面构建器不能使用 UIView 的具体通用子类?

    首先 这已被投票关闭 作为为什么不能直接在 Interface Builder 中使用泛型的重复 TLDR 的答案是 IB 使用 Objective C 而 Objective C 不支持泛型 无论如何 没有办法指定泛型的 特殊性 即它使用
  • 计算Mac中目录及其子目录的特定文件类型的数量

    I use ls l filetype wc l但它只能查找当前目录中的文件 我怎样才能计算子目录中具有特定扩展名的所有文件 非常感谢 你可以这样做find命令 find name filetype wc l
  • C# - 应用程序的参数

    我怎样才能做到当程序名称末尾添加参数时它会执行特定的方法或其他什么 另外 这个有名字吗 Example 程序 exe i 我也见过 1 这些被称为命令行参数 有一个MSDN 上的很好的教程 http msdn microsoft com e
  • 跨多个表的 JPA 本机查询

    我将以下内容定义为存储库 dispenseRepository 中的本机查询 Query value SELECT p c s d from patient p consult c script s dispense d where p p
  • REST api:在一次获取中请求多个资源[重复]

    这个问题在这里已经有答案了 我正在尝试设计一个 RESTful API 用户可以在单个 GET 请求中获取单个产品或产品列表 每个产品都有一个唯一的 ID 单个产品 URL 非常简单 http mycompany com api v1 pr
  • R:将多列转换为单列[重复]

    这个问题在这里已经有答案了 我有一个看起来像这样的数据框 ID week1 t week1 a week2 t week2 a 1 12 22 17 4 1 15 32 18 5 1 24 12 29 6 2 45 11