将具有两列的 data.frame 重塑为具有数据的多列 (R)

2024-03-04

这是一个微不足道的问题,但我到目前为止还找不到答案。

我想将数据框列“年份”拆分为一组新列,每年列名称及其下方的后续数据:

    Year     FQ
   1975  3.156
   1975  8.980
   1977 10.304
   1977  7.861
   1979  4.729
   1979  7.216
   1981  4.856
   1981  3.438
   1983  9.887
   1983  3.850

期望的输出:

1975    1977    1979   1981    1983 

3.156   10.304  4.729  4.856   9.887
8.980   7.861   7.216  3.438   3.850

样本数据:

d<-structure(list(Year = structure(1:10, .Label = c("1975", "1975", 
"1977", "1977", "1979", "1979", "1981", "1981", "1983", "1983", 
"1985", "1985", "1987", "1987", "1988", "1988", "1991", "1991", 
"1993", "1993", "1995", "1995", "1997", "1997", "2000", "2000", 
"2001", "2001", "2003", "2003", "2005", "2005", "2007", "2007", 
"2009", "2009", "2011", "2011"), class = "factor"), FQ = c(3.156, 
8.98, 10.304, 7.861, 4.729, 7.216, 4.856, 3.438, 9.887, 3.85)), .Names = c("Year", 
"FQ"), class = "data.frame", row.names = c(1L, 62L, 123L, 184L, 
245L, 306L, 367L, 428L, 489L, 550L))

我尝试过融化数据:

melt(d, id.vars = "Year")

然后使用强制转换:

cast(d, Year~value) 

并重塑

d1<-reshape(d, idvar="Year", timevar="FQ", direction="wide")

但无济于事


您实际上没有“ID”变量,因此您需要创建一个。如果会更容易Year was a character变量,所以除了添加“ID”变量之外,我还完成了下面的转换:

d <- within(d, {
  Year <- as.character(Year)
  ID <- ave(Year, Year, FUN=seq_along)
})

从这里开始,就很容易使用了dcast直接地...

library(reshape2)
dcast(d, ID ~ Year, value.var="FQ")
#   ID  1975   1977  1979  1981  1983
# 1  1 3.156 10.304 4.729 4.856 9.887
# 2  2 8.980  7.861 7.216 3.438 3.850

... or reshape.

reshape(d, direction  = "wide", idvar="ID", timevar="Year")
#    ID FQ.1975 FQ.1977 FQ.1979 FQ.1981 FQ.1983
# 1   1   3.156  10.304   4.729   4.856   9.887
# 62  2   8.980   7.861   7.216   3.438   3.850
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将具有两列的 data.frame 重塑为具有数据的多列 (R) 的相关文章

  • 指定生存图的自定义时间点

    我正在努力使用以下方法创建生存 累积事件图ggsurvplot函数从survminer包裹 我想为我的绘图指定自定义时间点 但我不知道该怎么做 这xlim and break x by参数有点帮助 但它们创建了均匀间隔的时间点和比我想要的更
  • Mac OS X 10.13 上的 RStudio 在尝试使用 fix() 时出现 X11 不可用错误

    我已经使用自制程序在我的计算机上安装了 XQuartz 然后重新启动了我的计算机 当我尝试在 RStudio 中使用 fix 命令时 出现以下错误 gt College read csv College csv header T na st
  • R 抑制系统或 shell 命令的控制台输出

    我有这个 Windows 批处理文件 我使用 R 从 R 调用该文件shell 命令 该批处理文件执行一些计算并将它们写入磁盘上 也写入屏幕上 我只对磁盘输出感兴趣 我无法更改批处理文件 批处理文件可能有点愚蠢 例如 echo off ec
  • 获取行名以 ABC111 开头的所有行

    我们有以下数据框 col1 col2 col3 ABC111001 12 12 13 ABC111002 3 4 5 ABC000111 7 6 1 ABC000112 9 23 1 如何获取行名以 开头的所有行ABC111 如下 ABC1
  • 在闪亮的应用程序中使用传单地图作为过滤器

    是否可以使用传单地图来过滤闪亮应用程序中的数据 就像在 Tableau 或 Power BI 中一样 方法是单击地图上的某个状态 然后根据条件过滤另一个图表或表格选择 None
  • ggplot() 使用scale::percent_format() 缩放产生奇怪的结果

    library tidyverse mtcars gt count cyl gt mutate prop n sum n gt ggplot aes x cyl y prop geom point scale y continuous la
  • 如何在主图区域之外的 ggplot2 中添加多个标题

    我想为页脚添加两个标题 但 ggplot 似乎只需要 1 是否有解决方法可以将注释或 geom text 添加到左下角和右下角 library ggplot2 p lt ggplot mtcars aes x wt y mpg geom p
  • 替换向量中非 %in% 向量的值

    简短的问题 我可以像这样替换某些变量值 values lt c a b a b c a b df lt data frame values 将 df values 的所有值替换为 x 其中值是neither a 或 b 输出应该是 c a
  • R ifelse 错误地用整数替换文本

    我正在使用 Udacity 课程中的一些数据 链接 Reddit 调查回复 https s3 amazonaws com udacity hosted downloads ud651 reddit csv 我试图通过使用单个单词替代替换任何
  • ggplot2 中的小时刻度

    我正在处理就寝时间和醒来时间 因此我想创建一个具有 24 小时 x 轴的图表 从第一天中午 12 点开始 到第二天中午 12 点结束 这意味着晚上 11 59 之后 它应该再次从 0 开始 同样的问题 仅涉及数字 我想创建一个从 10 到
  • dmvnorm MVN 密度 - RcppArmadillo 实现比 R 包慢,包括一些 Fortran

    The solution现已上线RCPP画廊 http gallery rcpp org articles dmvnorm arma 我从 RcppArmadillo 中的 mvtnorm 包重新实现了 dmvnorm 我有点喜欢犰狳 但我
  • mclapply 调用应该嵌套吗?

    正在筑巢parallel mclapply是个好主意吗 require parallel ans lt mclapply 1 3 function x mclapply 1 3 function y y x unlist ans Outpu
  • 生成因子变量水平的预测值

    我正在使用连续结果变量对多个因子变量进行回归lm 例如 fit lt lm dv factor hour factor weekday factor month factor year count data df 我想生成预测值 yhat
  • 根据Python中两行之间的匹配创建一个带有[0,1]的新列

    我正在尝试将多个列表或数据帧与一个大型基础数据帧进行比较 然后对于任何匹配 我想附加一个存储 1 匹配或 0 不匹配的列 df pd DataFrame Name A B C D ID 5 6 6 7 8 9 7 list1 5 6 8 9
  • Rstudio 命令历史记录

    这些天我经常使用 Rstudio 但最近注意到我的命令不再存储在历史记录中 我不知道这是从什么时候开始的 但可能是在安装最新版本时发生的 关于问题可能是什么的任何想法吗 Thanks 这是我们在 v0 93 73 中引入并在 v0 93 7
  • 如何加速 R for 循环?

    我正在为 R 中 GWmodel 包中的 gwr basic 函数运行以下 for 循环 我需要做的是收集任何给定带宽的估计参数的平均值 代码如下 library GWmodel data DubVoter Dub voter LARent
  • 字边界正则表达式问题

    我在使用单词边界时遇到问题 b在我的正则表达式中 我正在使用 R 但当我尝试时问题也存在http regexr com http regexr com 我使用的模式是 bs l b 虽然我预计下面的第 1 行和第 3 行能够匹配此模式 但只
  • 列槽不足

    当尝试为 data table 中的每个变量 108 个变量 创建 12 个滞后时 我收到一条错误 指出列槽不足 此操作应创建大约 1200 个变量或列 Data A as data table Datos A Varnames names
  • ggplot堆叠条 - 隐藏标签但保留标签位置

    我在 ggplot 中有一个堆积条形图 其中 geom text 标签位于每个条形的中心 我想隐藏小条上的标签 以便图表看起来不会过于拥挤 我可以使用下面的代码来完成此操作 但它会弄乱标签的位置 正如您在下面的链接图片中看到的那样 它们不再
  • 从受密码保护的 Excel 文件到 pandas DataFrame

    我可以使用以下命令打开受密码保护的 Excel 文件 import sys import win32com client xlApp win32com client Dispatch Excel Application print Exce

随机推荐

  • 如何在 sqlalchemy 中提交之前应用列默认值

    我有一个声明性基础模型 class User Base id Column Integer primary key True money Column Integer default 100 然后我跑 gt gt gt u User gt
  • 在java中创建线程在后台运行

    我想从我的主 java 程序中生成一个 Java 线程 并且该线程应该单独执行 而不会干扰主程序 应该是这样的 用户启动的主程序 做一些业务工作 应该创建一个可以处理后台进程的新线程 一旦创建了线程 主程序就不应该等到生成的线程完成 其实应
  • 在批处理文件中查找/替换文本时如何处理&符号?

    我有以下批处理文件来查找并删除文本文件中的字符串 文本文件将采用以下格式 079754 Billing Business Adv E MyDirectory 079754 35931 Billing Business Adv pdf Com
  • 如何实现虚拟静态属性?

    据我所知C 不支持虚拟静态属性 如何实现这样的行为C 我想实现基类的所有派生类都必须重写静态属性 获取派生类型 我想访问一个名为的静态属性Identifier Type t typeof DerivedClass var identifie
  • OpenGL 上下文丢失后如何重新加载 libgdx 非托管纹理

    我正在通过网络下载图像 并使用以下命令将它们作为图像演员添加到我的 libgdx UI 中 Pixmap pm new Pixmap data 0 data length Texture t new Texture pm TextureRe
  • FirebaseRecyclerPagingAdapter - 按日期排序列表

    在我的应用程序中 我想显示保存在实时数据库中的新闻列表 每个新闻项目都有一个以毫秒为单位的时间戳 以指示新闻的日期 我想首先使用 FirebaseRecyclerPagingAdapter 在 RecyclerView 上显示最新新闻 这个
  • 合并两个图并在 R igraph 中添加边权重

    我试图将两个图与相同的节点组合起来 但这样新的图边权重是两个原始图的总和 但当然希望解决方案扩展到 N 个图 g1 lt graph empty directed FALSE vertices letters 1 2 g1 lt g1 ed
  • 在 asp.net mvc 中单击按钮动态添加控件

    我正在创建一个 asp net MVC 应用程序 我想在其中提供动态添加控件的功能 我有一个表单 其中有两个用于名字和姓氏的文本框 它们用作单个控件 现在用户可以添加任意数量的这组控件 我可以使用 java 脚本在页面上添加这些控件 但我不
  • flutter :不支持的操作:无法添加到不可修改的列表

    我在 StatelessWidget 中有一个 ListView 它有项目 每个项目都包含一个复选框 当有人检查某个项目时 我希望 ListView 将其作为参数发送到另一个页面 但是当我这样做时 它给了我这个错误 I flutter 70
  • WebLogic“超出规定的内容长度”错误

    我有一个 Servlet 过滤器 它在 WebLogic 10 0 中生成 超出规定的内容长度 错误 如果有任何解决此问题的建议 我将不胜感激 详情如下 servlet 过滤器调整图像大小 将 FileInputStream 的内容 从磁盘
  • 如何使用 JGit 检查 Git 克隆是否已完成

    我学习 git 并使用 JGit 从 java 代码访问 Git 存储库 Git 默认情况下不允许克隆到非空目录 我们如何确定本地计算机中的特定 git 存储库已经完成了 git 克隆 以便我们随后只能执行 Git pull 操作 目前我正
  • JavaScript 中的 child 和 childNode 有什么区别?

    我发现自己使用 JavaScript 并且遇到了childNodes and children特性 我想知道它们之间有什么区别 还有一个比另一个更受青睐吗 Understand that children https dom spec wh
  • 使用 JS 消费 Rails send_data 响应

    我有一个连接到 Rails API 后端的 VueJS 前端 在其中一个端点中 我正在使用邪恶 PDF https github com mileszs wicked pdf生成 PDF 当我在浏览器中打开 URL 本身时 PDF 可以正常
  • 如何在Android中创建圆形ImageView? [复制]

    这个问题在这里已经有答案了 我怎样才能创建一个圆角ImageView在安卓中 我已经尝试过以下代码 但它运行不正常 Code Bitmap circleBitmap Bitmap createBitmap bitmap getWidth b
  • Rails Devise - 传递 URL 进行登录

    有没有办法让我将 URL 传递到 Devise 登录页面 以便当用户登录时 他 她被重定向回该 URL 就像是 login passthru somethingawesome 或者设置一个会话变量更好 有一个方法来存储重定向位置和一个方法来
  • 在 docker 中与 .net core 建立 DB2 连接时无法加载 DLL 'libdb2.so'

    如何使 libdb2 so 文件对 DB2 包可见 我已经验证该包可以在 Ubuntu 中运行 但无法使其在 Docker 中运行 Dockerfile FROM microsoft aspnetcore 1 0 assume the bu
  • 将标识列添加到 SQL Server 2008 中的视图

    这是我的观点 Create View MyView as Select col1 col2 col3 From Table1 UnionAll Select col1 col2 col3 From Table2 我需要添加一个名为的新列Id
  • Git 不会添加任何文件 - 只是一个空目录

    我一直在 Xcode 中开发 iPhone 项目 并决定将其放在 github 上 我在 github 上创建了一个存储库 克隆了它 并将所有文件移动到该目录中 然后我尝试 git add Directory 我提交并推送 发现现在仓库中唯
  • 更改 UIButton 背景颜色

    有人可以帮助我如何将按钮背景从白色更改为其他颜色 我知道如何添加图像并将其设为自定义按钮 但我不知道如何将初始按钮颜色从白色更改为另一种颜色 我们将非常感谢您的帮助 干杯 我有类似的要求 并且不想在我的应用程序包中包含其他文件 因此我编写了
  • 将具有两列的 data.frame 重塑为具有数据的多列 (R)

    这是一个微不足道的问题 但我到目前为止还找不到答案 我想将数据框列 年份 拆分为一组新列 每年列名称及其下方的后续数据 Year FQ 1975 3 156 1975 8 980 1977 10 304 1977 7 861 1979 4