如何在 R 代码中将数据框旋转到二级标题上

2023-12-14

I’m still new to R and I’ve been struggling with this issue for a couple of days. I found some solutions but I’m looking for a short code and I’d rather avoid a loop but so far that’s all I could come up with. My data is the following : enter image description here

我希望它的外观如下:

Country    Year       ATM      POS  
France     2015        1       10    
France     2014        5        2    
France     2013       12        4     
France     2012        2       12   

我还没有找到一个简短的方法来解决这个问题,所以我将其分解为几个步骤:我禁用了标题,尝试从第一行中创建一个向量,我想我会首先在这些年上进行更长时间的旋转,但我出现错误:

ATM <- pivot_longer(data = dat, cols = dat[,2:6],names_to = "Year",values_to = headervector) 

这还需要 POS 部分的循环。 那么,除了解决这个问题之外,是否还有一种不需要循环的更好方法呢?

太感谢了!


当您读入数据时,使用该选项指定从找到“国家/地区”的行开始读取。例如,您将使用startRow for read.xlsx-- 不确定您使用什么来读取 Excel。...代表任何其他参数read.xlsx.

x <- read.xlsx("your_file.xlsx", startRow = row_that_country_is_found, ...)

完成此操作后,您可能需要清理列名。年份可能会读作“X2015”或类似的内容。我们假设“x”现在看起来像这样(随机数据):

x
#   Country      2015      2014      2013      2012       2011      2010
# 1       A 0.6883601 0.9199372 0.8996433 0.9644212 0.97940387 0.7564401
# 2       B 0.1572208 0.6507811 0.9444197 0.9420349 0.06572698 0.1445383
# 3       C 0.7599602 0.8948640 0.6020316 0.7315661 0.90211468 0.5831917
#          2015       2014      2013      2012      2011       2010
# 1 0.26770837 0.45293675 0.2363191 0.9718356 0.3290432 0.57801166
# 2 0.39756729 0.06007054 0.7108505 0.6843454 0.1690740 0.93432731
# 3 0.05011677 0.30123347 0.2633371 0.5079645 0.9527117 0.04442355

从这里,您应该重命名您的列。

names(x) <- c("Country", paste(rep(c("ATM", "POS"), each = 6),
              names(x)[-1], sep = "_"))

您的名字现在应该如下所示:

names(x)
#  [1] "Country"  "ATM_2015" "ATM_2014" "ATM_2013" "ATM_2012" "ATM_2011"
#  [7] "ATM_2010" "POS_2015" "POS_2014" "POS_2013" "POS_2012" "POS_2011"
# [13] "POS_2010"

然后你可以pivot_longer, separate将名称放入多个变量中,然后pivot_wider以获得您想要的输出。

x %>% 
  pivot_longer(-Country) %>% 
  separate(name, into = c("Type", "Year")) %>% 
  pivot_wider(names_from = Type, values_from = value)
# # A tibble: 18 x 4
#    Country Year     ATM    POS
#    <chr>   <chr>  <dbl>  <dbl>
#  1 A       2015  0.688  0.268 
#  2 A       2014  0.920  0.453 
#  3 A       2013  0.900  0.236 
#  4 A       2012  0.964  0.972 
#  5 A       2011  0.979  0.329 
#  6 A       2010  0.756  0.578 
#  7 B       2015  0.157  0.398 
#  8 B       2014  0.651  0.0601
# ... 
# 17 C       2011  0.902  0.953 
# 18 C       2010  0.583  0.0444
          
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 代码中将数据框旋转到二级标题上 的相关文章

  • 在 Shiny 中设置一个绘图缩放以匹配另一个绘图缩放

    我正在尝试使用情节重排获取一个图的 x 轴缩放限制 并将它们应用到 Shiny 中的另一个图 到目前为止 我可以从 plot1 x轴限制 获取相关的plotly relayout数据 将其转换 从数字到日期 并在绘制 plot2 之前将其提
  • R - 正则表达式错误(PCRE 版本)

    我正在尝试使用koRpus在 R 中在运行 RHEL6 的 Linux 服务器上进行词形还原 上周 当我安装了 MRO Microsoft R Open 3 2 3 时 下面的代码效果很好 library koRpus lw c danci
  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • 使用 ggplot2 修改点子集的形状

    我正在尝试绘制一个沿大量维度变化的大型散点图 这是我的起始情节 p lt ggplot mtcars aes wt mpg shape cyl colour gear size carb geom point 使用mtcars数据集 我只是
  • R 中的 NA 替换函数

    我正在尝试替换矩阵中的 NA mat 零 我在用着mat is na mat lt 0 当我有 18946 个变量的 94531 个观察值或更小的矩阵时 效果很好 但我在 22752 个变量的 112039 个观察值的矩阵上尝试它 R 显示
  • 用于清除工作空间和转储存储的 R 全局函数

    我希望创建一个全局函数来清除我的工作区并转储我的内存 我将我的函数称为 cleaner 并希望它执行以下代码 remove list ls gc 我尝试在全局环境中创建该函数 但是当我运行它时 控制台仅打印该函数的文本 在我要获取的函数文件
  • 如何更新条件公式?

    让我直接进入示例 考虑以下等式 frml lt formula y a b x z 使用这样的公式规范 例如和AER ivreg 我想更新这个公式 使其显示为 frml2 lt y a b c x z w 但是 我不确定如何更新条件标志之前
  • R 中的发散积分可在 Wolfram 中求解

    我知道我以前问过同样的问题 但由于我是新来的 这个问题问得不好而且不可重现 因此我在这里尝试做得更好 如果我只编辑旧的 可能没有人会读它 我有一个想要积分的二重积分 ff lt function g t exp 16 g exp 8 t t
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 16 位以上整数的计算

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

随机推荐

  • libpcap - 从所有接口捕获数据包

    我需要从 Linux 机器上的所有网络接口捕获数据包 为了做到这一点 我计划使用pcap open live API 并传递 any 作为设备参数 我有不同类型的端口 以太网端口 例如 eth0 和 GRE 隧道 例如 tun0 来自不同类
  • npm start 不起作用 npm (错误!在 [email protected] 启动脚本处失败。)

    我正在使用示例link学习角度 但当我跑步时npm 启动它显示错误 我搜索了它要求更新 npm 或 Angular 版本的解决方案 但我已经在使用最新版本 如下所示 npm v 6 4 1 节点 v 10 9 0 角度 CLI 6 1 5
  • Microsoft Visual Studio:在Qt应用程序中加载资源(无插件)

    我们没有为 MSVS 安装 Qt 插件 这让我想知道如何 是否可以将资源 图像等 加载到应用程序中 是的 您可以加载资源 不幸的是 创建 qrc 文件的 qrc 编辑器是 Qt Addin for VS 的一部分 但是你可以手动创建这个xm
  • 如何为JTree单元设置透明背景?

    Folks 我正在尝试创建一个渐变 JTree 控件 除了树单元的背景不透明之外 以下代码大部分都可以工作 如果有人打电话告诉我我做错了什么 我将不胜感激 预先感谢您的帮助 问候 Peter package TestPackage impo
  • 不同持续时间输入的 FFMPEG amix 滤波器音量问题

    我注意到ffmpeg amix过滤器在特定情况下不会输出良好的结果 如果输入文件具有相同的持续时间 它就可以正常工作 在这种情况下 成交量会以恒定值下降 并且可以通过以下方式固定 volume 2 就我而言 我使用不同持续时间的文件 结果体
  • 批量重命名目录中的文件

    有没有一种简单的方法可以使用 Python 重命名目录中已包含的一组文件 Example 我有一个充满 doc 文件的目录 我想以一致的方式重命名它们 X doc gt 新 X doc Y doc gt 新 Y doc 我更喜欢为我必须做的
  • Flex 4 日期选择器

    我有很多日子 我希望那些日子在 DateChooser 组件中具有不同的背景颜色 例如红色 请问我该怎么做 DateChooser 的自定义并不那么容易 与此接近的东西会起作用 尽管您需要对其进行一些调整以适应您想要做的事情 public
  • 如何在 jQuery ajax 中从一个按钮调用多个 url?

    是否可以通过 jQuery 中的按钮调用两个 url 例如 我也想添加评论的内容 我该如何代表他们 ajax url ajax releaseBackEnd php url batch 2 release tmp php type POST
  • 如何在 JQuery 调用中使用变量

    我在尝试着 function doRow rowNum ajax url z html cache false success function html result rowNum append html 这似乎不起作用 当我做到这一点时
  • ng-transclude 内的 ng-model

    我使用时遇到问题ng model inside ng transclude As ng transclude创建子作用域 该值不能再设置为外部作用域 没有 ng transinclude 一切正常 text div div
  • 在 CardView 布局中运行媒体文件

    有没有办法获得媒体文件 audio video 运行在cardview布局 我想要一个videoa 内文件的预览card layout 当用户点击卡片时video audio全屏播放 就像 Facebook 的 feed 一样 为了获得这种
  • 如何在R中过滤数据?

    我有巨大的数据集 其中包含超过数百万行 并且具有一些特殊的属性 我需要过滤保留其其他属性的数据 我的数据如下 ID Prop1 Prop2 TotalProp 56891940 G02 G02 2 56892558 A61 G02 4 56
  • 如何加载具有依赖项的 JNI .dylib 文件而不出现 UnsatifiedLinkError?

    Goal 将 Java 链接到 Swift Problem 我得到一个UnsatisfiedLinkError当尝试加载 JNI 时 dylib与 Swift 链接的文件 dylib调用时文件System loadLibrary Strin
  • 使用 htmlparser python 获取标签下的html

    我想在标签下获取整个 html 并使用 HTMLParser 我当前能够获取标签之间的数据 以下是我的代码 class LinksParser HTMLParser def init self HTMLParser init self se
  • Android 中如何模糊背景图像

    模糊背景图像 如下图所示 的最佳方法是什么 我看到了一些代码和库 但有几年前的或类似 Blur Behind 库 但它没有给出相同的效果 最简单的方法是使用库 看看这个 https github com wasabeef Blurry 使用
  • 如何从C++文件中读取空格分隔的信息

    在文本文件中 我将有一行包含一系列数字 每个数字用空格分隔 我如何读取这些数字并将它们全部存储在一个数组中 std ifstream file filename std vector
  • 多次加入同一张表

    我可能有点笨 希望有人能帮忙 我有一个简单的 2 列用户表 ID 用户名 我有一个图像评论表 COMMENT COMMENTFROM COMMENTTO COMMENTFROM 是发表评论的用户的 ID COMMENTTO 是添加评论的图像
  • 在 MS Access 中引用可重用表单(2 层)

    我有多个成员 每个成员都有一条包含多个备注字段的记录 Member ID Entry A Entry B 1 memo text memo text 2 memo text memo text 3 memo text memo text 在
  • 在嵌套类中,如何从Python中的嵌套类访问外部类的元素?

    我有这样的场景 我需要要求嵌套类将项目附加到外部类中的列表中 这是伪代码 与我尝试做的类似 我该如何让它发挥作用 class Outer object outerlist class Inner object def call self a
  • 如何在 R 代码中将数据框旋转到二级标题上

    I m still new to R and I ve been struggling with this issue for a couple of days I found some solutions but I m looking