如何使用R将年度数据转换为月度数据?

2024-01-07

我有2000年至2015年15年的逐年GDP数据。我想将这些数据转换为月度数据,其中只有月份和年份。

我只想将当年的值复制到所有月份。我怎样才能在 R 中做到这一点2010 年的值是 1708。我想为 2010 年的所有月份复制相同的值。

我的数据:

> str(gdpnew)
'data.frame':   16 obs. of  3 variables:
 $ X    : int  1 2 3 4 5 6 7 8 9 10 ...
 $ Date : Date, format: "2000-12-31" "2001-12-31" "2002-12-31" ...
 $ Value: num  477 494 524 618 722 ...

> head(gdpnew)
  X       Date   Value
1 1 2000-12-31 476.636
2 2 2001-12-31 493.934
3 3 2002-12-31 523.768
4 4 2003-12-31 618.369
5 5 2004-12-31 721.589
6 6 2005-12-31 834.218
> 

显然你想要一个交叉连接:

DT <- read.table(text = "  X       Date   Value
1 1 2000-12-31 476.636
2 2 2001-12-31 493.934
3 3 2002-12-31 523.768
4 4 2003-12-31 618.369
5 5 2004-12-31 721.589
6 6 2005-12-31 834.218", header = TRUE)

library(data.table)
setDT(DT)

DT[, Date := as.IDate(Date)]
DT[, year := year(Date)]
setkey(DT, year)
DT1 <- DT[CJ(year, month = 1:12)]
print(DT1)

#    X       Date   Value year month
# 1: 1 2000-12-31 476.636 2000     1
# 2: 1 2000-12-31 476.636 2000     2
# 3: 1 2000-12-31 476.636 2000     3
# 4: 1 2000-12-31 476.636 2000     4
# 5: 1 2000-12-31 476.636 2000     5
# 6: 1 2000-12-31 476.636 2000     6
# 7: 1 2000-12-31 476.636 2000     7
# 8: 1 2000-12-31 476.636 2000     8
# 9: 1 2000-12-31 476.636 2000     9
#10: 1 2000-12-31 476.636 2000    10
#11: 1 2000-12-31 476.636 2000    11
#12: 1 2000-12-31 476.636 2000    12
#13: 2 2001-12-31 493.934 2001     1
#14: 2 2001-12-31 493.934 2001     2
#15: 2 2001-12-31 493.934 2001     3
#16: 2 2001-12-31 493.934 2001     4
#17: 2 2001-12-31 493.934 2001     5
#18: 2 2001-12-31 493.934 2001     6
#19: 2 2001-12-31 493.934 2001     7
#20: 2 2001-12-31 493.934 2001     8
#21: 2 2001-12-31 493.934 2001     9
#22: 2 2001-12-31 493.934 2001    10
#23: 2 2001-12-31 493.934 2001    11
#24: 2 2001-12-31 493.934 2001    12
#25: 3 2002-12-31 523.768 2002     1
#26: 3 2002-12-31 523.768 2002     2
#27: 3 2002-12-31 523.768 2002     3
#28: 3 2002-12-31 523.768 2002     4
#29: 3 2002-12-31 523.768 2002     5
#30: 3 2002-12-31 523.768 2002     6
#31: 3 2002-12-31 523.768 2002     7
#32: 3 2002-12-31 523.768 2002     8
#33: 3 2002-12-31 523.768 2002     9
#34: 3 2002-12-31 523.768 2002    10
#35: 3 2002-12-31 523.768 2002    11
#36: 3 2002-12-31 523.768 2002    12
#37: 4 2003-12-31 618.369 2003     1
#38: 4 2003-12-31 618.369 2003     2
#39: 4 2003-12-31 618.369 2003     3
#40: 4 2003-12-31 618.369 2003     4
#41: 4 2003-12-31 618.369 2003     5
#42: 4 2003-12-31 618.369 2003     6
#43: 4 2003-12-31 618.369 2003     7
#44: 4 2003-12-31 618.369 2003     8
#45: 4 2003-12-31 618.369 2003     9
#46: 4 2003-12-31 618.369 2003    10
#47: 4 2003-12-31 618.369 2003    11
#48: 4 2003-12-31 618.369 2003    12
#49: 5 2004-12-31 721.589 2004     1
#50: 5 2004-12-31 721.589 2004     2
#51: 5 2004-12-31 721.589 2004     3
#52: 5 2004-12-31 721.589 2004     4
#53: 5 2004-12-31 721.589 2004     5
#54: 5 2004-12-31 721.589 2004     6
#55: 5 2004-12-31 721.589 2004     7
#56: 5 2004-12-31 721.589 2004     8
#57: 5 2004-12-31 721.589 2004     9
#58: 5 2004-12-31 721.589 2004    10
#59: 5 2004-12-31 721.589 2004    11
#60: 5 2004-12-31 721.589 2004    12
#61: 6 2005-12-31 834.218 2005     1
#62: 6 2005-12-31 834.218 2005     2
#63: 6 2005-12-31 834.218 2005     3
#64: 6 2005-12-31 834.218 2005     4
#65: 6 2005-12-31 834.218 2005     5
#66: 6 2005-12-31 834.218 2005     6
#67: 6 2005-12-31 834.218 2005     7
#68: 6 2005-12-31 834.218 2005     8
#69: 6 2005-12-31 834.218 2005     9
#70: 6 2005-12-31 834.218 2005    10
#71: 6 2005-12-31 834.218 2005    11
#72: 6 2005-12-31 834.218 2005    12
#    X       Date   Value year month

您可能需要设置allow.cartesian = TRUE.

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

如何使用R将年度数据转换为月度数据? 的相关文章

  • 增加雷达图中长轴标签的空间

    我想创建一个雷达图ggirahExtra ggRadar 问题是我的标签很长并且被剪掉了 我想我可以通过添加在标签和绘图之间创建更多空间margin margin 0 0 2 0 cm to element text in axis tex
  • 当设置 coord_fixed 时,ggplot/shiny 中的鼠标悬停坐标是错误的

    我正在使用问题中的答案 当您将鼠标悬停在闪亮的 ggplot 上时出现工具提示 https stackoverflow com questions 27965931 tooltip when you mouseover a ggplot o
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • 平滑连续 2D 点

    UPDATE 感谢 user20650和 李哲源Zheyuan Li 这是我想出的解决方案 Example data set df 3600 observations points Create a vector of the cumula
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • rvest 函数 html_nodes 返回 {xml_nodeset (0)}

    我正在尝试抓取以下网站的数据框 http stats nba com game 0041700404 playbyplay http stats nba com game 0041700404 playbyplay 我想创建一个表格 其中包
  • 自定义轴缩放后 ggplot2 缺少标签

    我正在尝试使用我的 x 轴应用自定义缩放ggplot2 and scales trans new 但是 当我这样做时 一些轴标签丢失了 有人可以帮我弄清楚为什么吗 Setup library tidyverse the data ds lt
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • 更改ggplot2中的字体

    曾几何时 我改变了我的ggplot2字体使用windowsFonts Times windowsFont TT Times New Roman 现在 我无法摆脱这一切 在尝试设置family in ggplot2 theme 当我用不同的字
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d
  • 如何从 R 中的多列中获取计数?

    我有一个包含三列的数据框 State1 State2 State3 有没有一种方法可以使用所有三列 最好使用 dplyr 并且没有显式循环 来获取一个数据帧中每个状态的计数 我只知道如何做一栏 df gt group by State1 g
  • 如何使用 ggplotGrob 创建自定义图例?

    我发布了一个question https stackoverflow com questions 29174774 how to create legend text elements being different colours in
  • 使用非标准评估公式

    我正在创建一个使用的包非标准评价 http adv r had co nz Computing on the language html跟踪列的含义 该包在函数之间传递数据框 这些函数执行同一组列的各种操作 非标准评估对此非常有用 my s
  • rPlot 工具提示问题

    我有一个使用 rCharts 工具提示的简单示例 但似乎不起作用 set seed 1 test lt data frame x rnorm 100 y rnorm 100 rPlot y x data test type point to
  • 使用行内 r 代码作为 R markdown 标头的一部分

    我希望使用行 R 代码作为 r markdown 文件中标头的一部分 然而 当我编织文件时 标题上使用的字体是不同的 如何确保字体相同 下面是一个简单的例子 r 1 1 Header 您可以将内容括在反引号中以表示内联 r 代码 如下所示
  • 如何使用合并或替换来更新 R 中具有多列的表

    我想做一些与这个问题非常相似的事情 如何使用 merge 更新 R 中的表 https stackoverflow com questions 3190118 how to use merge to update a table in r
  • 函数速度测试的奇怪结果

    我编写了一个使用递归来查找最大公因数 分母 的函数 gt gcd function a b if length a length b gt 1 warning Only scalars allowed using first element
  • 使用括号表示 y 轴上的负值 ggplot2

    我想在括号中显示 y 轴负值 而不是用负号 例如 我想显示 2 000 而不是 2 000 我在 R 中使用 ggplot2 我尝试在scale y continuous内部使用 negative parens TRUE 如下所示 但没有成

随机推荐

  • 将 firebase 添加到代号一

    我正在使用 Codename One 框架开发我的应用程序 并使用 Firebase 将我的数据存储在云中 为了利用 Firebase 的所有潜力 我想将其添加到我的应用程序中 但由于我没有使用 Android Studio 或 Xcode
  • Terraform (0.12.29) 导入未按预期工作;导入成功,但计划显示销毁并重新创建

    一些背景 我们有 terraform 代码来创建各种 AWS 资源 其中一些资源是根据 AWS 账户创建的 因此被构造为存储在account scope我们项目中的文件夹 当时我们只有一个 AWS 区域 现在我们的应用程序是多区域的 因此将
  • 将 Subsonic.Select() ExecuteTypedList 方法与字符串结合使用

    这更多是关于泛型而不是亚音速的问题 想象一下如果有以下代码 List
  • Java 中的 IDisposable 隐喻?

    作为一名进入 NET 的 Java 开发人员 我想了解 IDisposable 接口 有人可以尝试解释一下这一点以及它与 Java 中发生的情况有何不同吗 谢谢 我写了一个关于 IDisposable 的详细系列文章 http reedco
  • Amazon Lex 在 Lambda Fulfillment 上 30 秒超时

    我有一个 lambda 函数 它通过网络服务与一些外部自动化绑定 完成任务大约需要 45 秒 我已经将 lambda 调用的时间限制更新为 2 分钟 并且当我测试时它工作正常 但是 当我在 Amazon Lex 中使用文本机器人时 我收到以
  • HtmlUnit 从 href 调用 javascript 来下载文件

    我尝试下载一个似乎必须通过浏览器单击的文件 该网站使用一个表单 其中包含多个指向名为 downloadFile 的 javascript 函数的 href 在此函数中 通过 document getElementById 获取名为 posl
  • Android APK 运行时不会生成

    我有几个 Android 应用程序和示例代码 我已经下载 编码了 所有这些都在我的 eclipse 工作区中 我已经在 eclipse 上安装了 android 开发所需的所有插件 图像 这些项目可以在您进行构建时完美编译 我得到 构建成功
  • 容器“Android 依赖项”引用不存在的库

    请原谅我的英语不好 我是法国人 所以 我的 android 项目遇到了问题 我收到此错误容器 Android 依赖项 引用不存在的库 我在谷歌上进行了大量搜索 结果是 该库是一个android库 大小写已勾选 该库在我的项目中被 调用 An
  • 有没有办法通过Python(pywin32)访问Excel上的切片器

    我正在使用 pywin32 Excel 工作簿 我在一张纸上有一些图表需要保存 问题是 该工作表中有一个切片器 可以过滤某个变量 我没有找到它的 pywin32 文档 而且我在这里没有任何关于我可以 或不能 如何做到这一点的线索 谢谢 有对
  • 适用于 .NET 的 SAML 库/组件

    任何人都可以推荐用于为 NET 中的联合登录实现生成 SAML 断言的库吗 如果它能与 ASP NET 会员 API 集成 那就更理想了 如果其他人偶然发现这一点 http saml2 codeplex com http saml2 cod
  • FTP 目录列表以 HTML 形式返回,而不是简单的 Linux ls 输出

    相关如何强制 C FtpWebRequest 使用直接 IP 访问 Internet 而不是通过 HTTP 代理 https stackoverflow com questions 28187521 how can i force a c
  • 为什么我不能在类外部重载 C++ 转换运算符作为非成员函数?

    这个问题以前曾被问过 但我觉得提问者在从未真正得到真正答案的情况下匆忙地认为答案是正确的 也许没有什么原因 这需要稍后纳入标准 你告诉我 不允许使用非成员函数重载 C 转换运算符的理由是什么 https stackoverflow com
  • wait() 在 Unix 上做什么?

    我正在读关于wait Unix 系统书中的函数 本书包含一个程序 该程序具有wait NULL 在里面 我不明白那是什么意思 在其他程序中有 while wait NULL gt 0 这也让我摸不着头脑 有人能解释一下上面的函数在做什么吗
  • 在 mac 上使用 macport 安装时 boost 库的默认位置是什么?

    我刚刚在 mac 上安装了 boost 使用 macport 和以下命令 sudo port install boost 它安装得很好 但我不知道 boost 库安装在哪里 它应该在哪里 我怎样才能找到它 标题应该位于 usr local
  • 即使循环中发生错误如何继续游标循环

    我想将一个表的行插入到另一个表中 为此 我有以下程序 ALTER PROCEDURE LOADDATA a AS BEGIN TRUNCATE TABLE STIDENT A DECLARE SID INT DECLARE SNAME VA
  • 对每个集合视图单元格使用单个表视图控制器

    我有 5 个集合视图单元格 名称为 餐厅 商店 医疗 客厅 公园 等 所以现在我设置了 10 个视图控制器 并将表视图放置在每五个控制器内 我调用 json 数据并在表视图中显示 我还有一个自定义单元格 我在其中用于所有 iew contr
  • ios 当我尝试注册我的应用程序时,如何取消选择游戏中心和应用内购买

    我正在尝试在苹果开发者门户中注册我的应用程序 但您可以在那里选择您的应用程序将要使用的服务 我的问题是我不会使用 游戏中心 或 应用内购买 我怎样才能取消选择这些 我将非常感谢你的帮助 Use Wildcard App ID 如中所示Reg
  • 使用 -Ylog-classpath 运行 sbt

    当我运行 sbtcompile 时出现这样的错误 missing or invalid dependency detected while loading class file DefaultReads class error Could
  • PHP 将 Excel (.xls) 转换为 pdf [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 php java 开源软件转换器或 php 库可以将 xls 文件转换为 pdf 文档 概
  • 如何使用R将年度数据转换为月度数据?

    我有2000年至2015年15年的逐年GDP数据 我想将这些数据转换为月度数据 其中只有月份和年份 我只想将当年的值复制到所有月份 我怎样才能在 R 中做到这一点2010 年的值是 1708 我想为 2010 年的所有月份复制相同的值 我的