将数据框重塑为宽形状

2023-12-11

数据包含两个变量:id 和grade。每个id可以有多个记录 每个年级。

dat <- data.frame(id = c(1,1,1,2,2,2,2,3,3,4,5,5,5),
                  grade = c("a", "b", "c", "a", "a", "b", "b", "d", "f", "c", "a", "e", "f"))

我想将数据重塑为宽形状,以便每个 id 只有一条记录 每个独特的等级都成为一列。每列的值为 0 或 1, 取决于每个id的等级。

最终的数据集如下所示:

id  a   b   c   d   e   f
1   1   1   1   0   0   0
2   1   1   0   0   0   0
3   0   0   0   1   0   1
4   0   0   1   0   0   0
5   1   0   0   0   1   1

我尝试过这个,但没有运气。

  n.dat <- reshape(dat, timevar = "grade",idvar = c("id"),direction = "wide") 

你可以简单地table值,然后转换为基于逻辑> 0条件,然后使用转换回数字+一元运算符(或者如果你不想打高尔夫球,只需简单地+ 0)

+(table(dat) > 0)
#     grade
# id  a b c d e f
#   1 1 1 1 0 0 0
#   2 1 1 0 0 0 0
#   3 0 0 0 1 0 1
#   4 0 0 1 0 0 0
#   5 1 0 0 0 1 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据框重塑为宽形状 的相关文章

  • R Shiny - 使用 DataTable 移动列名称

    我有一个非常复杂的闪亮代码 其中有几个面板和这些面板内的几个表格 启动应用程序时 列名称与列值正确对齐 但是 一旦我更改应用程序表格下的页码 列名称就会移动到左侧 而值仍保留在中间 如何强制应用程序使列名称与列值对齐 一个可重现的例子 li
  • R 中 if-else 中的逻辑运算符

    我有一个名为 mat 的下表 5 列和 3 行 AC CA RES 1 0 2 2 1 3 0 0 0 1 正在执行的操作是mat 1 mat 1 mat 2 我正在测试以下内容 1 如果一行的两列都为零 则结果应为 NA 2 如果一行中只
  • 单击 R Shiny 中的按钮后将输入字段重置为 null

    我正在构建一个应用程序 用户可以在其中按列输入表的数据值 单击 添加 按钮后 输入的值将按列附加到现有值 例如 如果输入 col1 2 3 并单击 ADD 我们将在显示屏中看到 col1 2 3 如果输入 col2 4 7 并单击 ADD
  • R List with sub-list:将与规则匹配的所有元素提取到数组中

    我有一个 R 对象列表 它们又是各种类型的列表 我想要类别为 内部 的所有对象的 成本 值 实现这一目标的好方法是什么 如果我有一个数据框我会做类似的事情 my dataframe cost my dataframe category in
  • R 的 read.csv 在第一列名称前面加上垃圾文本[重复]

    这个问题在这里已经有答案了 我已将数据从 SQL Server Management Studio 中的结果网格导出到 csv 文件 csv 文件看起来正确 但是当我使用 read csv 将数据读入 R 数据帧时 第一个列名称前面带有 如
  • 在r中拆分数据并将所有拆分文件保存在csv中

    我有一个名为 data 的数据集 Model Garage City Honda C Chicago Maruti B Boston Porsche A New York Honda B Chicago Honda C New York 它
  • “未找到 JAVA 路径。请检查 JAVA 是否已安装。”初始化 RSelenium 时出错

    我正在尝试启动一个 RSelenium 会话到 webscrape 但是 当运行此代码时 driver lt rsDriver browser c chrome chromever 76 0 3809 126 port 4444L 我收到此
  • 将 12 小时字符时间转换为 24 小时

    我有一个包含字符格式时间的数据集 我试图将其从 12 小时格式转换为 24 小时格式 我做了一些搜索 但我发现的所有内容似乎都假设字符已经采用 24 小时格式 这是我工作时的一个例子 times lt c 9 06 AM 4 42 PM 3
  • geom_polygon 的渐变填充

    此代码生成一个包含 3 个多边形的图表 我正在创建一个显示 3 个多边形的图表 如果有更好的方法来绘制多边形 我不太感兴趣 实际上这些多边形代表事件 并且这些事件有一个持续时间 首先 我感兴趣的是使用渐变填充每个多边形的可能性 librar
  • 如何在 R 中解析堆叠多个 JSON 的文件?

    我在 R 中有以下 堆叠 JSON 对象 example1 json ID 12345 Timestamp 20140101 Usefulness Yes Code event1 A result 1 ID 1A35B Timestamp
  • 如何在 R 中“推断”面板数据的值?

    我有一个带有 NA 值的面板数据 如下所示 uid year month day value 1 1 2016 8 1 NA 2 1 2016 8 2 NA 3 1 2016 8 3 30 4 1 2016 8 4 NA 5 1 2016
  • 使用 ggplot 添加到投影地图时 R 饼图扭曲

    我想使用 ggplot 将饼图绘制到投影地图上 然而 饼图可能由于投影而变得扭曲 有谁知道如何在不变形的情况下绘制饼图 示例代码如下 谢谢 lib c ggplot2 scatterpie lapply lib library charac
  • 收集四列,其中两个键中包含值

    已经提出了类似的问题 但它们都涉及在一个关键列中收集多个列 我需要两个键中的多个列 这是我的数据框 ID measure A 1 measure A 2 measure B 1 measure B 2 1 8 25 23 5 4 5 2 8
  • 如何从R中串扰的filter_select中删除(全部)?

    我遵循图 16 7 的示例https plotly r com client side linking html https plotly r com client side linking html并且无法弄清楚为什么有一个名为 全部 的
  • 将文件夹中的多个 csv 文件读取到 R 中的单个数据帧中[重复]

    这个问题在这里已经有答案了 我有一个包含 332 个 csv 文件的文件夹 文件名称如下 001 csv 002 csv 003 csv 330 csv 331 csv 332 csv 所有文件都具有相同数量的变量和相同的格式 我需要读取一
  • 从受密码保护的站点读取信息

    我一直在 R 教程中使用 readLines 从网站上抓取信息 我现在希望从我自己的网站提取数据 特别是 awstats 数据 但是该域受密码保护 有没有一种方法可以通过用户名和密码传递我需要的特定 awstats 数据的 url url
  • 使用 roxygen2 导入两个同名函数

    我是 CRAN 包的维护者 在加载时收到以下消息 checking whether package qdap can be installed 10s 10s WARNING Found the following significant
  • 正则表达式提取美国邮政编码,但不提取假代码

    使用 XML 包和 XPath 从网站上抓取地址 有时我只能得到一个嵌入了我想要的邮政编码的字符串 提取邮政编码很简单 但有时会显示其他五位数字的字符串 以下是 df 中问题的一些变体 zips lt data frame id seq 1
  • XLConnect 无法确定 JAVA_HOME 错误

    感谢您的帮助 我正在尝试运行 XLconnect 但收到此错误消息 gt library XLConnect lib loc C Users 1144143929 Documents R win library 2 15 Error onL
  • R 中的点图每行有多个值

    我有以下 R 输入文件 car 1 car 2 car 3 car2 1 car2 2 car2 3 然后 我使用以下命令来绘制图表 autos data 点图 autos data V2 autos data V1 但这将每个汽车和 ca

随机推荐

  • C# 4.0:我可以使用 TimeSpan 作为具有默认值的可选参数吗?

    这两个都会生成一个错误 指出它们必须是编译时常量 void Foo TimeSpan span TimeSpan FromSeconds 2 0 void Foo TimeSpan span new TimeSpan 2000 首先 有人可
  • Nifi PutSQL Timestamp/Datetime错误无法转换错误

    我尝试了建议的解决方案 通过使用 UpdateAttribute 处理器来消除时间戳格式转换错误 即 将JSON转换为SQL gt UpdateAttribute gt PutSQL 在 UpdateAttribute 中我使用了 Prop
  • 对 2D 列表使用 .strip()

    第一个问题 我想知道如何在二维列表中使用 strip 函数 以便在列表内每个列表的每个元素中 您可以删除字符串内无用的空格 这是我在 shell 中的尝试 gt gt gt questions 1986 Baby Shaw Welcome
  • 如何使用变量作为对象初始化程序中的键

    在我正在工作的应用程序中 服务器页面用于接收输入的名称作为其值的键 用ajax可以做到这一点吗 在此示例中 thisName 被视为文字字符串 table each function this delegate input focusout
  • 在 SymPy 中将 ** 替换为 Math.pow

    我有一个 Python 中的 SymPy 表达式 我想将其复制并粘贴到 Java 源代码中 问题是求幂有不同的表示法 Java用途Math pow a b Python使用a b 所以我的问题是 有没有办法以 Java 格式 打印 SymP
  • libgdx 中的背景透明度

    如果我在Android中使用libgdx 如何使屏幕背景透明 我尝试使用的代码不起作用 Gdx gl glClearColor 0 0 0 0 Gdx gl glClear GL10 GL COLOR BUFFER BIT GL10 GL
  • ActionError 未显示

    我想加载我的Error jsp in my ErrorDiv if Action类返回错误 我正在执行 AJAX 调用 JS success function result if result success alert Database
  • Facebook 分享,标题未分享

    转到以下网址 共享消息中未显示标题 我是否正确使用它或者它是 facebook api 中的错误 问候 潘卡伊 我很确定 Google 通过 JavaScript 更改了页面的 Title 属性 如果您查看其搜索结果页面的源代码 您会发现
  • MATLAB:频率分布

    我在一个文本文件中对 500 个数值 范围从 1 到 25000 进行了原始观察 我希望在 MATLAB 中进行频率分布 我确实尝试过直方图 hist 但是我更喜欢频率分布曲线而不是块和条形图 任何帮助表示赞赏 如果将两个输出参数传递给HI
  • 如何在 Symfony2 中设置表单字段的默认值?

    有没有一种简单的方法来设置文本表单字段的默认值 你可以设置默认值empty data builder gt add myField number empty data gt Default value
  • twilio python 模块版本 2.0.8 中缺少 twilio.rest?

    Twilio python 快速入门指南说使用名为 twilio rest 的子模块 但是今天通过安装 twilio 模块后sudo pip install twilio安装了版本 2 0 8 的 twilio 模块中似乎没有名为 rest
  • 如何以编程方式在 EditText 上设置焦点(并显示键盘)

    我有一个布局 其中包含一些如下视图
  • 从 MediaStore 查询播放列表

    我正在尝试从 MediaStore 查询设备中的播放列表 我已经关注了之前提出的问题 但没有得到答案 这就是我查询播放列表的方式 public void addToPlaylist long playlistId Context conte
  • 如何单独显示数字?

    假设我在 matplotlib 中有两个图形 每个图形一个图 import matplotlib pyplot as plt f1 plt figure plt plot range 0 10 f2 plt figure plt plot
  • 来自字典的数据帧,具有自动日期解析功能

    我正在从字典序列创建一个 Pandas DataFrame 这些词典很大而且有些异构 有些字段是日期 我想自动检测并解析日期字段 这可以通过以下方式实现 df0 pd Dataframe from dict dicts df0 to csv
  • 关闭窗口 - 但不停止程序 - JAVA

    在我的程序中 如果发生某个操作 它会打开一个窗口 当我在此窗口中填写信息并输入按钮后 窗口将出现 dispose 该窗口是在我的主程序之外的程序中拾取的 但是当我关闭该窗口时 我的主程序将停止 我怎样才能防止这种情况发生 感谢您的帮助 您可
  • 使用NVM在gitlab-ci中安装特定的nodejs版本

    当我尝试使用 gitlab ci 安装 NVM 时 收到以下错误消息 gitlab ci yml 文件 stages test Testing tags docker stage test image ubuntu 18 04 before
  • 为 Node.js 应用程序构建 docker 映像在代理后面失败

    我在 docker 构建期间遇到了 npm 问题 我是一家公司代理的幕后黑手 阅读了大约 30 篇解决类似问题的文章 以及 stackoverflow 帖子 然而我仍然无法克服这一点 我能够 npm install 项目并在 docker
  • Google Apps 脚本停止从雅虎财经抓取数据

    用于从雅虎财经抓取历史数据的 Google Apps 脚本代码昨天停止工作 它突然给出错误 没有数据 data length 0 我认为错误出现在获取 JSON 时的第 8 行脚本中 但我没有必要的技能来修复它 如果您能帮助解决问题 我们将
  • 将数据框重塑为宽形状

    数据包含两个变量 id 和grade 每个id可以有多个记录 每个年级 dat lt data frame id c 1 1 1 2 2 2 2 3 3 4 5 5 5 grade c a b c a a b b d f c a e f 我