R 将数据框从长格式重塑为宽格式? [复制]

2023-12-30

将下面的数据帧从长格式转换为宽格式的最佳方法是什么?我尝试使用重塑但没有得到预期的结果。

2015    PROD A  test1
2015    PROD A  blue
2015    PROD A  50
2015    PROD A  66
2015    PROD A  66
2018    PROD B  test2
2018    PROD B  yellow
2018    PROD B  70
2018    PROD B  88.8
2018    PROD B  88.8
2018    PROD A  test3
2018    PROD A  red
2018    PROD A  55
2018    PROD A  88
2018    PROD A  90

一个可能的解决方案是这样的

library(tidyverse)

df = read.table(text = "
                year prod value
                2015    PRODA  test1
                2015    PRODA  blue
                2015    PRODA  50
                2015    PRODA  66
                2015    PRODA  66
                2018    PRODB  test2
                2018    PRODB  yellow
                2018    PRODB  70
                2018    PRODB  88.8
                2018    PRODB  88.8
                2018    PRODA  test3
                2018    PRODA  red
                2018    PRODA  55
                2018    PRODA  88
                2018    PRODA  90
                ", header=T, stringsAsFactors=F)

df %>%
  group_by(year, prod) %>%                           # for each year and prod combination
  mutate(id = paste0("new_col_", row_number())) %>%  # enumerate rows (this will be used as column names in the reshaped version)
  ungroup() %>%                                      # forget the grouping
  spread(id, value)                                  # reshape

# # A tibble: 3 x 7
#    year prod  new_col_1 new_col_2 new_col_3 new_col_4 new_col_5
#   <int> <chr> <chr>     <chr>     <chr>     <chr>     <chr>    
# 1  2015 PRODA test1     blue      50        66        66       
# 2  2018 PRODA test3     red       55        88        90       
# 3  2018 PRODB test2     yellow    70        88.8      88.8 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 将数据框从长格式重塑为宽格式? [复制] 的相关文章

  • 使用 google 查询邮政编码距离

    我有两个邮政编码列表 R 语言 其中一个是孩子的地址及其学业成绩 另一个是学校的地址 我希望能够为每个孩子找到最近的学校 所以大概需要通过转换为长和纬度值来计算邮政编码之间的距离 然后我希望能够在谷歌地图上绘制每所学校的所有孩子 并看看住在
  • R:重新列出平面列表

    这个问题 https stackoverflow com questions 8139677有一个很好的解决方案 可以在保留列表数据类型的同时展平列表 其中unlist才不是 flatten function x unlist vector
  • 从 R 文本中提取网站链接

    我有多个文本 每个文本都可能包含对一个或多个网络链接的引用 例如 text1 s 1212a as www abcd com asasa11 我如何提取 www abcd com 来自 R 中的这段文字 换句话说 我希望提取以www并结束于
  • 根据 B 列中的一系列值获取 A 列的平均值

    我的数据框有几列 如下所示 df1 lt data frame A c 1 2 4 B c 1 3 1 C c 1 1 3 我有两个条件来获取 A 列的平均值 条件1 我想在B为1时获得A列的平均值 即只对row1和row2进行平均 条件2
  • R Shinydashboard 根据选项卡选择显示/隐藏 UI 元素

    如果有人可以提供帮助 我正在努力满足要求 我必须根据用户的选项卡面板选择在仪表板侧栏上显示 隐藏一些元素 这是 UI 代码的一部分 可让您了解我的应用程序的结构 我需要仅在 tabpPanel 2 上显示 Fourthoutput Fift
  • 如何为每个条形图制作具有定义水平边框的堆叠条形图

    我有一些数据想以一种我不知道如何在条形图中显示的方式 希望你能帮我解决这个问题 我的表由 4 列组成 簇 0 6 IgG Status mild high mild low Severe High 患者 1 16 和值 每个簇的标准化值 这
  • 在 R/exams exams2nops() 中用零填充初始学生 ID

    当使用exams为 NOPS 考试生成 PDF 文件的软件包我想编辑学生可用的位数 reglength 我知道该软件包只允许至少 7 位数字 然而 我们学生的身份证号码只有5位数字 因此我想知道是否可以通过 PDF 操作来编辑模板 我尝试过
  • 将一个数据框中的行(带有行名称)与另一个数据框中的匹配列名称相乘

    我有两个数据框 df1 lt data frame Values c 0 01 0 05 row names c X Y df1 Values X 0 01 Y 0 05 df2 lt data frame c 0 1 1 c 1 0 0
  • 在 R 中绘制决策树(插入符)

    我已经训练了一个数据集rf方法 例如 ctrl lt trainControl method LGOCV repeats 3 savePred TRUE verboseIter TRUE preProcOptions list thresh
  • 使用 kableExtra 增加行/行间距

    有没有办法在 r markdown 或 bookdown 中使用 kableExtra 增加 pdf 输出的行间距 library knitr library kableExtra kable head iris 5 caption Iri
  • 使用“kde”函数进行 R 中的 5-D 核密度估计

    我想通过使用 R 的 ks 库中的 kde 函数来执行 5 维数据 x y z 时间 大小 的核密度估计 在它的手册中 它说它可以执行核密度估计1 至 6 维数据 手册第 24 页 http cran r project org web p
  • R Markdown 文档标题中的希腊字母

    R markdown 文档的标题中是否可以包含希腊字母 我试过这个 title Amylase author author date 8 March 2017 output pdf document keep tex true toc ye
  • mutate() 尝试在使用美元符号运算符时使用全局变量的值进行提取

    我使用得到了有趣的结果mutate with a 当全局环境中碰巧存在与要提取的元素同名的变量时进行提取 我正在运行 R 3 1 3 和 dplyr 0 4 3 9 这工作正常 library dplyr df lt data frame
  • 获取非零数据的列意味着

    R 可以获得数据帧非零值的 colMeans 吗 data lt data frame col1 c 1 0 1 0 3 3 col2 c 5 0 5 0 7 7 colMeans data 1 33 4 我想要这样的东西 mean dat
  • dplyr:取消选择由给出的列

    如何取消选择中给出的列 自写函数的参数 我还需要在另一点选择列 因此只需使用 in 没有解决我的问题 任何解决方案表示赞赏 select 帮助者 操纵者quosures或表达方式 very simple example data test
  • 如何绘制对数似然函数图

    我想绘制 pi 和 pi 之间的对数似然函数 对数似然函数 llh lt function teta x sum log 1 cos x teta 2 pi x c 3 91 4 85 2 28 4 06 3 70 4 04 5 46 3
  • 替换因子列中的

    我想更换
  • 在R中使用plotly在轴标题中换行和下标

    我刚开始使用plotly对于 R 中的一些交互式散点图 并且在轴标签上遇到困难 通常我设计我的情节ggplot2然后使用ggplotly函数来转换它们 但这有时由于某种原因非常慢 所以我想直接在中创建我的图plotly 我现在尝试更改轴标题
  • 如何测试字符串中的前三个字符是r中的字母还是数字?

    下面给出了我拥有的数据集的示例 请注意 总数据集中我有超过两列 ID X 1 MJF34 2 GA249D 3 DEW235R 4 4SDFR3 5 DAS3 我想测试 X 中的前三个字符是否是字母 如果是 那么我想替换该值以仅显示前三个字
  • 直接来自数据的马尔可夫模型图(makovchain 或 deemod 包?)

    我想读取一堆因子数据并从中创建一个可以很好地可视化的转换矩阵 我发现了一个非常好的软件包 称为 heemod 它与 diagram 一起工作得不错 对于我的第一个快速而肮脏的方法 我运行了一段 Python 代码来获取矩阵 然后使用这个 R

随机推荐

  • Firefox 中的文本描边和阴影 CSS3

    我想知道是否有一种方法可以在文本中添加描边和阴影 我可以让它在 Chrome 和 Safari 中工作 因为 webkit 支持文本描边和文本阴影 我可以在 Firefox 中显示笔划 但那是使用文本阴影并使用偏移量 那么有人知道解决这个问
  • 将日期和时间数字转换为 time_t 并指定时区

    我有以下整数 int y mon d h min s 他们的价值观是 2012 06 27 12 47 53分别 如果我在应用程序中的其他地方选择了 UTC 我想表示 2012 06 27 12 47 53 UTC 的日期时间 或者如果我在
  • 如何通过 SAX XML Schema Validator 的验证消息进行内部化?

    我使用此代码根据 XSD 验证 XML SchemaFactory factory SchemaFactory newInstance http www w3 org 2001 XMLSchema Schema schema factory
  • Excel 复制到 Word VBA

    我正在使用宏记录器处理一些代码 在单词中 它总是以选择开头 本文说我应该能够将文档分配给一个变量 然后将其插入到 Selection 之前 但是 在我输入文档变量后 选择方法不会出现在 VBE 中 第一次使用 Selection 对象 Se
  • 如何在 VB.NET 中使用多种字体样式组合?

    如果我想设置我的字体 我可以使用 new Font Times New Roman 12 Drawing FontStyle Bold 我可以使用斜体 常规或下划线代替粗体 但我想同时使用粗体和斜体 我怎样才能做到这一点 The FontS
  • wx 0.90.0.1 无法在 Haskell Platform 2012.2.0.0 (WinXP) 上安装

    我尝试使用 cabal install wx 在 Haskell Platform 2012 2 0 0 上安装 WX 0 90 0 1 但得到以下结果 Configuring wxc 0 90 0 4 setup exe wx confi
  • AspectJ:验证错误

    我正在尝试面向方面的编程 我已经安装了AspectJ 插件 http eclipse org aspectj index php在 Eclipse 中并遵循本中提到的所有步骤tutorial http sites google com si
  • 无效的二进制或无效的 Swift 支持

    将应用程序发送到应用程序商店以供批准后 我在 iTunes Connect 中收到消息 无效的二进制文件 然后我在 Apple 发来的电子邮件中收到以下消息 无效的 Swift 支持 该捆绑包包含无效的 Swift 实现 该应用程序可能是使
  • Chart.js x 轴线性比例:奇怪的行为

    我正在尝试在 Chart js 图表中的 x 轴上使用线性刻度 我添加了一些代码 因为 stackoverflow 使其在添加 jsfiddle url 时必须这样做 但我不明白这一点 var options scales xAxes ty
  • 相当于其他编译器中 MSVC 的 _countof 吗?

    是否有任何内置的等价物 countof http msdn microsoft com en us library ms175773 v VS 100 aspx由其他编译器提供 特别是 GCC 和 Clang 有没有非宏观形式 使用C 11
  • 理解 sklearn CountVectorizer 中的“ngram_range”参数

    我对如何在 Python 的 scikit learn 库中使用 ngrams 有点困惑 具体来说 如何ngram range参数在 CountVectorizer 中工作 运行这段代码 from sklearn feature extra
  • 等待 Task.Run 与等待

    我在网上搜索了一下 看到很多关于Task Run与await async相比 但是有一个特定的使用场景 我不太理解其中的区别 我相信场景很简单 await Task Run gt LongProcess vs await LongProce
  • C# 拖放:拖动时显示拖动的项目

    我正在使用 C 和 Windows 窗体构建桌面应用程序 我有一个自定义控件 我希望能够将其拖放到我的应用程序内 而不是外部 现在我正在使用通常的 DoDragDrop OnDragOver OnDragDrop 方法来实现它 有没有什么方
  • 如何在php mysql中获取结果的所有行?

    在我的表中我有 2 条记录companyid 1 但是当我运行下面的 php 时companyid 1它只返回第一个 如何获取所有记录 php 文件 if isset GET companyid companyid GET companyi
  • R:将数据帧转换为三维数组?

    我想转换一个数据框 例如 day lt c 1 1 1 2 2 2 3 3 3 area lt c A B C area lt rep area 3 measure1 lt c 99 97 95 102 105 98 103 98 90 m
  • 查找将两个 Numpy 数组平均划分的值

    我有两个数组 x1 and x2 具有相同长度且具有重叠的值范围 我需要找到一个值q这样l1 l2被最小化 并且 l1 x1 np where x1 gt q shape 0 l2 x2 np where x2 lt q shape 0 我
  • FragmentActivity 中的“setSupportActionBar(toolbar)”?

    我如何访问setSupportActionBar Toolbar toolbar inside FragmentActivity 我无法访问里面的内容FragmentActivity toolbar Toolbar findViewById
  • Phoenix 和 Ecto 以及 SELECT

    我在凤凰城建立了一个 Ecto 模型协会 一个组织有许多组织成员 在 OrganizationMember 控制器的 Edit 方法中 我尝试创建一个 SELECT 元素来保存所有可供选择的组织 在里面edit定义 我有以下两行 organ
  • 为什么使用“composer create-project”创建项目后,依赖项不是最新的可用版本?

    因为某些原因 composer create project命令似乎会拉出过时的依赖项版本 运行后create project if I chdir创建文件夹并运行composer update 下载较新的版本 aherne aherne
  • R 将数据框从长格式重塑为宽格式? [复制]

    这个问题在这里已经有答案了 将下面的数据帧从长格式转换为宽格式的最佳方法是什么 我尝试使用重塑但没有得到预期的结果 2015 PROD A test1 2015 PROD A blue 2015 PROD A 50 2015 PROD A