问题标签 [tidyr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
652 浏览

r - tidyr 宽到长,有两个重复的措施

我有一些不整齐的数据。它有两个嵌套的重复测量(Q1/Q2 嵌套在 Constructs 中)。我想把它从宽格式移到长格式。

这里问题 1 和问题 2(Q1 和 Q2)是针对同一结构的两个不同问题。Q1..Ask Q2..Ask针对 Ask 结构的问题 1 和 2 的分数也是如此。如何将 Q1/Q2 变成一列 ( Question) 并将列标题的后半部分变成一Construct列,其中一Score列使用tidyr

#MWE

# 使其长格式不在 tidyr 中的代码

# 期望的输出

0 投票
0 回答
200 浏览

r - 融合行内随机列的数据

我进行了联合设计调查,希望使用cjoint 包。cjoint 包中的示例数据格式如下:

“Case ID”代表每个受访者,“contest_no”代表每个受访者完成的个别任务。在这种情况下,每个受访者完成了 5 个任务(任务 1 到 3 可见),每个任务比较 2 个配置文件。每个配置文件都因属性“FeatEd”、“Featjob”、“FeatLang”而异。所选配置文件列为“Chosen_Immigrant”,并带有一个是或否的指示符。

我目前的数据是:

  • 被答主崩溃。同一行上的所有任务、配置文件和属性。
  • 按每行内的属性随机化。

例如:

F.1.1 代表任务 1 的属性标题。F.1.1.1 是配置文件 1 的任务 1 的属性值。F.1.2.1(未显示)是配置文件 2 的任务 1 的属性值。 1.2. 是任务 1 的标题,属性 2。F.1.1.2 是配置文件 1 的任务 2 的属性值。依此类推...

据我了解,要将我的数据框与 cjoint 示例的数据框匹配,我需要:

  1. 按属性的定义顺序对每一行进行排序。例如,c(“负担能力”,“党的支持”,...)
  2. 使用每个属性在行中的位置,获取为每个配置文件提供的相关级别。对于 F.1.1。“负担能力”,抢对比F.1.1.1和F.1.2.1。按行将它们彼此相邻分组。
  3. 将我的数据框从宽改成长,以便响应者和任务运行行 ID,列名是属性,单元格代表属性级别。

我想我可以用 reshape2 或 tidyr 找出第 3 步。但是,对于在给定单元格值的行内按列排序和抓取行内相关的其他单元格的任何帮助将不胜感激。

0 投票
3 回答
180 浏览

r - 当变量是列名时清理数据

我经常得到这样的数据集,其中列标题中有变量,并且还包括相应的误差测量。

https://drive.google.com/file/d/0BwSh24a5hm4kSERESlFkeHZXOFE/view?usp=sharing

我的问题是如何以快速简单的方式整理这个数据集,看起来像这样:

https://drive.google.com/file/d/0BwSh24a5hm4kRDNiSFJoaWFub0E/view?usp=sharing

我对使用 dplyr + tidyr 和不使用的答案感兴趣。

谢谢你的帮助!

0 投票
0 回答
138 浏览

r - POSIX 数据导致 tidyr 问题?

我一直在尝试回答这个问题,并在此过程中使用 tidyr 收集数据。这使 RStudio 崩溃,当从终端获取时它也会崩溃。

我从终端中的错误中得到以下信息。

这是我一直在运行的脚本:

是否可以使用 POSIX 收集数据?

编辑以添加sessionInfo()

0 投票
2 回答
9028 浏览

r - 收集_ 不起作用。quoting 和 ~ing 在标准评估模式下不应该有相同的效果吗?

我有问题让 tidyr 的收集在它的标准评估版本收集工作:

收集作品:

但我希望能够在标准评估模式下从变量中获取名称 varName ,但似乎无法正确:

我也对以下内容感到困惑。

这按预期工作:

下一行应该等同于最后一行(根据我对http://cran.r-project.org/web/packages/dplyr/vignettes/nse.html的理解),但不起作用:

0 投票
3 回答
758 浏览

r - 使用月份分布重新格式化数据框,并按 R 中的日历顺序排序

我有一个 data.frame 下面给出。我正在尝试将其从长格式移动到宽格式。使用扩展列作为日期。使用tidyr包中的传播函数存在两个问题:

  • 数据用 NA 填充
  • 月份按字母顺序排列

那么我该如何从

相反,我最终在

实际日期无关紧要,但它们的相对顺序很重要,即最近的月份数据应该按顺序排到第一列,然后是其他两个月的数据。这是必要的,因为我正在使用rbind结果

我试过的代码

data.frame 如下所示:

谢谢阅读。

编辑:

在@akrun 添加预期输出的评论之后。因为每个日期的值是不同的,即需要将每个月的数据一个接一个地放置,列名附加字符串“Month1/2/3”而不是实际日期。希望有帮助。

0 投票
0 回答
194 浏览

r - R:tidyr,在将 tidyr 函数合并到自定义函数中时获得正确的范围和环境

解决方案见评论,“更新我的 R 版本并重新启动服务器后,此问题不再存在。可能永远不会再出现。范围或本地/全局环境没有问题,只是一些错误。感谢 @MrFlick 的指点我在正确的方向。


我很好奇人们是否可以解释(或指出对新程序员友好的良好文档或文本)来帮助我将 tidyr(以及 plyr、dplyr 和其他 Hadleyverse 包)合并到自定义函数中。下面的问题显然有一个我没有完全掌握的范围/本地环境问题。

提前致谢!

可重现的例子

在自定义函数之外,这里是 tidyr 的用法:

两者都返回:

这些类型的操作在更大更复杂的自定义函数中显然非常有用,但我遇到了以下问题:

foo2 中的 do.call 版本是由最近类似的 stackoverflow 帖子推动的,但最终并没有那么有帮助。


糟糕的解决方法

我一直在使用的一个可怕的解决方案是创建一个全局变量

或者将附加参数传递给自定义函数。


但我很想用这个问题作为我和其他遇到这个问题的人的教学时刻。


由于。。。导致的结果sessionInfo()

0 投票
1 回答
3018 浏览

r - tidyr 宽到长?

我正在尝试学习如何使用 tidyr 将宽数据转换为长数据。假设我的数据如下所示:

我想把我变成这样:

我认为收集是我必须使用的功能,但我不理解帮助文件。这就是我现在所拥有的:

错误显示“错误:无效的列规范”

谢谢!

0 投票
1 回答
7227 浏览

r - dplyr 数据透视表

我想获得一个具有递减值的数据透视表。

获得值的总和

在 dplyr 中是否有另一种方法可以做同样的事情?

0 投票
1 回答
181 浏览

r - 整洁的数据:根据“计数”变量为每个人创建行

我有一个数据框,其格式非常类似于下面给出的示例数据框 df1。共有三列:两个分类变量和一个“计数”列,指定具有该特定组合的对象数量。

我想将此数据框移向示例数据框df2中显示的格式。每个对象都简单地在单独的行上给出,而不是“计数”列。

我已经尝试过使用dplyrtidyr包,但我还不太精通R。什么是执行我想要的功能的好方法?