问题标签 [reshape2]

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 回答
1285 浏览

r - 为什么 reshape2 融化返回值 = NA 对我来说?

为什么 reshape2为我melt返回value= NA

它适用于我的 reshape,但不适用于 reshape2:

这是一个示例数据文件:

假设它被保存为/tmp/foo.csv,那么:

使用重塑:

使用重塑2:

您可以看到使用library("reshape"),value列有数字,但是对于相同的数据libary("reshape2"),它有, 。NA

0 投票
2 回答
3197 浏览

r - reshape 函数给出“下标越界”错误

我有一个 ROC.Value 数据框,如下所示:

当我得到正确的数据时,NA 值将被替换。

当我使用以下代码尝试将其转换为长格式时(这样我就可以制作堆叠箱线图):

我得到这个错误Error in reshapeLong(data, idvar = idvar, timevar = timevar, varying = varying, : subscript out of bounds

有什么建议吗?我尝试的一切都没有成功(出现新错误)。

0 投票
2 回答
3733 浏览

r - 重塑/融化散点图的数据框

我有一个如下所示的数据文件:

我想制作一个带有一个 x 值和多个 y 值(ys)的散点图。我试图将 reshape 与熔化一起使用,但我无法创建正确的数据结构来制作此图。如何在 R 中执行此操作并使用 ggplot 绘图?谢谢您的帮助。

0 投票
1 回答
2797 浏览

r - 演员在数据框上不起作用

我正在处理一个大型数据框,我想对其执行数据透视表类型的函数。我一直在尝试使用 reshape2 包,但由于某种原因,我的熔融数据框没有重塑。

我想采取这样的框架:

并使其成为(聚合类型):

我正在运行以下代码:

但它根本没有改变数据框。我在哪里搞砸了?

编辑:

我将包含有关此问题的更多信息。在到达熔融数据框之前,我正在做一些非常糟糕的清理工作以将数据放到我想要的位置。我知道下面的代码并不理想,确实应该修复,但我基本上是上传多个 CSV 文件(具有相同的列名),加入它们,重新编码一些值,删除一些列,选择数据的子集,转将其放入熔化的框架中,然后尝试使用 dcast 对其进行重塑。我删除了我重新编码某些值的代码,但那部分似乎工作正常。这是一些代码:

现在我收到以下错误:

结构错误(有序,暗淡 = ns):暗淡 [产品 18300] 与对象 [0] 的长度不匹配

输出dput(head(fulldata.sub,40))

编辑

再进行一次编辑,包括 >str(fulldata.sub) 和 str(m.data) 的输出

data.frame':130098 obs。9 个变量:
$ 县:因子 w/3237 级别“南卡罗来纳州阿布维尔县”,..:121 121 121 121 121 121 121 121 131 131 ...
$ 行业:因子 w/369 级别“会计,税务准备,簿记和工资服务”,..:283 239 239 1 1 33 358 358 274 273 ...
$ tax_type :因子 w/ 4 级“所有机构”,..:4 1 1 1 1 1 1 1 4 4 。 ..
$ 公司 : num 10 61 61 14 14 10 4 4 358 312 ...
$ 收入 : num 31466 21347 21347 31717 31717 ...
$ 工资单 : num 5521 4863 4863 13729 13729 ...
$ num_employees : 362546 571 571 ...
$ non_emp_firms : 数字 3122 1887 1887 2486 2486 ...
$ non_emp_firms_rev:数字 17550 96 96 12669 12669 ...
'data.frame':780588 obs。5 个变量:
$ 县:因子 w/ 3237 级别“南卡罗来纳州阿布维尔县”,..:121 121 121 121 121 121 121 121 131 131 ...
$ 行业:因子 w/ 369 级别“会计,税务准备,簿记和工资服务”,..:283 239 239 1 1 33 358 358 274 273 ...
$ tax_type:因子 w/4 级别“所有机构”,..:4 1 1 1 1 1 1 1 4 4 。 ..
$变量:因子w / 6个级别“公司”,“收入”,..:1 1 1 1 1 1 1 1 1 1 ...
$值:num 10 61 61 14 14 10 4 4 358 312 .. .

0 投票
1 回答
673 浏览

r - 如何在 reshape2 中使用 dcast 获得累积/累积的逐行总和

在 RI 聚合数据(总和)中使用 reshape2 库中的 dcast

这产生

我希望能够获得这样的累积值:

我试图在 reshape2 和原始 reshape 论文的 dcast 文档中找到 fun.aggregate 的示例

0 投票
1 回答
478 浏览

r - reshape2: dcast tall into wide without aggregating

Consider

I want

But I would like to do it with dcast() in reshape2 (for pedagogical purposes). Is this possible?

0 投票
1 回答
6141 浏览

r - 使用 recast() 从长到宽重塑复杂数据集

我正在使用 lme4 附带的数据集,并且正在尝试学习如何应用 reshape2 将其从长转换为宽 [帖子末尾的完整代码]。

数据集有 9 个变量;“Anger”、“Gender”和“id”不随“item”而变化,而“resp”、“btype”、“situ”、“mode”和“r2”则不同。

我已经成功地使用 reshape() 将数据集从长格式转换为宽格式:

这产生了对 123 个变量的 316 个观测值,并且似乎已正确转换。但是,我没有成功使用 reshape/reshape2 来重现宽数据框。

我可能不是 100% 清楚 recast 如何定义 id 变量,但我很困惑为什么它没有看到“愤怒”。相似地,

谁能看到我做错了什么?我很想更好地了解熔化/铸造!

完整代码:

0 投票
1 回答
316 浏览

r - 财务 - 使用 plyr 和 rportfolio 的随机投资组合 - 需要拆分列

我试图将实际投资组合的表现与假设的随机投资组合的表现进行比较。

这是我正在使用的数据集的示例。它显示了两个月的数据,投资组合中经理的姓名,以及这些经理的回报、分配和归属。

为了将数据导入 R,将数据复制到剪贴板,然后

为了创建随机投资组合,我使用ddplymutate和 和中rlongonly的函数。plyrrportfolio

rlongonly函数中:

  • m 的值是我想要创建的随机投资组合的数量。
  • n 的值是该时间段的分配数。
  • k 的值是非零分配的数量。
  • xu 的值是分配的上限。

归因仅仅是回报*分配。

如果我有 m=1,一切都很好。如果我有 m>1,则输出的尺寸不正确。

mydata.new2 应该有 7 列时只有 6 列。最后一列“new.attr”基本上是 2 列合二为一。

当我尝试meltmydata.new2 时,我收到以下错误。

如何拆分“new.attr”列,以便可以融合和绘制数据?

0 投票
1 回答
160 浏览

r - 如何将预制的函数列表传递给演员

cast,从reshape2包中,如果直接在调用中传递,可以处理一堆函数。例如:

但是,如果您尝试事先构建函数列表,这将不起作用。例如:

我查看了处理这种特殊行为的 cast 代码,老实说,我不知道它在做什么:

有没有办法将预先制作的函数列表作为变量传递给cast()

0 投票
3 回答
150 浏览

r - 按组将数据框转换为部分“宽”和部分摘要

我有以下数据框

它表示一个用户 ID,后跟一天中的小时,val1 val2 & val3。我想使用 cast 使用 reshape 或 base R 将数据框置于以下形状。对于每个 id,我希望 24 个字段中的每个字段中的 val1 中的值,并同时找到 val2 和 val3 的总数。例如如下所示

非常感谢任何帮助。提前致谢。