问题标签 [dcast]

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

r - 将 dcast() 函数应用于数据帧列表

我有一个数据框列表,我在下面展示了其中的一些:

我想对这个列表的元素使用自定义函数 dcast(),这些元素是我的 87 个数据帧。对于每个数据框,所需的结果应如下所示,具体取决于它具有的列数:

我尝试了各种解决方案和代码片段,但没有工作:

它产生错误:

第二种解决方案

错误是:

第三个解决方案

错误是:

第四种解决方案(绝望一)

它再次出现错误:

奇怪的是,如果我输入每个数据框的名称或只是列表的元素,例如 ls.df.val.keep[[3]],它们就起作用了!我还有很多其他的事情我想用 lapply 对这个列表做,但我被困在了第一步!有什么我没有看到的吗?

已编辑。

我正在按照@Jake 的要求添加我的数据框数据示例:

.. .. ..

0 投票
1 回答
79 浏览

r - r 编码问题会影响 dcasting 数据表的行为

我有一个数据表,其中有一列是一个字符向量,称为nutcode. 该列的元素具有不同的编码。有些是unknown(mac标准);有些是UTF-8UTF-8元素包括μ 。一个例子是“vit_a_rae_µg”。这种编码可能存在,因为原始数据是使用以下代码行从 Access 数据库中读取的(注意编码选择。

当我通过提供列名将我的数据表转换为宽时nutcode,UTF-8 元素不会转换为列并且没有警告消息。我在 Mac 上使用 data.table v1.9.7(R 版本是 Microsoft Open R ver 3.3.1。

这是具有此行为的代码。

我至少有一个解决方案,我将添加它作为答案。但我也想为 data.table 开发人员标记这一点。

0 投票
0 回答
103 浏览

r - R ffdfdply 附加错误

我想将我的数据(data.frame)从长格式转换为宽格式,并将“ITEM”的值作为列和值(“ITEM2”)(见下文):

长格式

宽幅

因此我使用 reshape2 包中的 dcast 函数:

这样做一切正常。

但是在我的数据框中有 7m 条数据记录,我一直在为内存限制而苦苦挣扎。因此,我决定在 ffdf 中转换我的 data.frame 并使用 ffbase 包中的 ffdfdply 函数来投射框架。

为了确保每个拆分都以相同的顺序具有相同的列,我提前从“ITEM”中提取值,如果不存在则附加 N/A 列并按字母顺序对所有列进行排序。

在整个代码下方:

不幸的是,在将第二个拆分的结果附加到第一个拆分时出现以下错误(带有跟踪):

在不附加的情况下只计算一个带有较少记录的拆分可以正常工作。

有人可以帮忙吗?

谢谢你。

0 投票
2 回答
1776 浏览

r - 将 dcast.data.table 与日期值和聚合一起使用

试图弄清楚这一点。假设你有一个 data.table:

我想把它旋转成这样

我似乎无法为 dcast.data.table 找到正确的语法。我试过

引发错误:

聚合函数应采用向量输入并返回单个值(长度=1)。

我也试过:

但结果抛弃了我的约会

任何建议,将不胜感激。TIA

0 投票
1 回答
460 浏览

r - dcast 和汇总到一个函数中 - 参数丢失

我正在尝试将以下正常工作的代码转换为函数。

例如,如果我们采用以下数据集:

该代码将根据目标变量聚合数据集,如下所示:

这就是我构造函数的方式:

但我得到 - 错误:未知变量分组:列。我知道这是一个基本问题,但是任何线索为什么我在 group_by 中失去了论点?

我曾尝试使用以下实施“group_by_”以及“require(“dplyr”)”,但它们似乎无关。

0 投票
3 回答
71 浏览

r - 以长格式聚合数据时,正确的计算方式意味着

对于一个简单的数据框:

我正在尝试按段聚合并计算段均值。

我期待以下结果:

由于计算平均值应考虑重复的 client_ids,我们应该将每个段的单个事务计数相加(低段为 1+2+2+2+3+17)并除以唯一的 client_ids(低段为 3),得到 27 /3 = 9 用于低段。为每个 client_id 使用预先计算的总和:(5+2+20)/3 = 9

但是,当我尝试对这些数据运行“dcast”或“聚合”时,我得到了错误的数字,因为显然他们将每一行视为一个独特的观察:

这有效地说明了它将每个段的事务计数相加(低段为 1+2+2+2+3+17)并除以每个段的观察数(低段为 6)而不是唯一的 client_ids。

在这种情况下,计算均值的正确方法是什么?

0 投票
0 回答
341 浏览

r - R ddply dcast 替代方案?

我想将我的数据(data.frame)从长格式转换为宽格式,并将“ITEM”的值作为列和值(“ITEM2”)(见下文):

长格式:

宽格式:

因此我使用 reshape2 包中的 dcast 函数:

这样做一切正常。但是在我的数据框中有 7m 条数据记录,我一直在为内存限制而苦苦挣扎。因此我决定使用 plyr 包中的 ddply。

为了确保每个拆分都以相同的顺序具有相同的列,我提前从“ITEM”中提取值,如果不存在则附加 N/A 列并按字母顺序对所有列进行排序。

在整个代码下方:

执行时ddply,使用的 RAM 在运行时不断增加,直到达到最大值 (12 GB)。因此性能非常缓慢,几个小时后我终止了 R。

有没有另一种方法来投射整个数据集?

提前致谢。

0 投票
6 回答
917 浏览

r - R中data.frame中每一列的第N个最小值

我想为 data.frame 中的每一列找到第 n 个最小的数字。

在下面的示例中,我使用 dcast nth 函数实际上指定了第二个最小值。有人可以帮助编写函数吗?

实际的答案是这样的..

0 投票
1 回答
1100 浏览

r - R dcast:如何执行 dcast 值计算?

我有一个大数据框,我用它运行这个:

这是结果:

另外,这个:

使这个:

实际上,我想这样做:

并获得这些值:

我尝试将操纵fun.aggregate作为论据,但我不确定这是正确的路径,或者我不知道我在做什么。有人可以帮我解决这个问题吗?(旁注:这个样本有两个类别。真实数据有 > 40。)

0 投票
2 回答
409 浏览

r - 将唯一值转换为新列并检查所有其他值

感谢@hrbrmstr,我为“ Scraping a xml document (nested url-structure) ”问题找到了一个非常好的解决方案。

但由于这种洞察力,它出现了另一个问题:

现在我得到了以下数据结构......

唯一实际变化的变量是“Auss_ord”,其中包含不同的议员佣金作为价值。

现在,我想要实现的是从当前的长版本切换到数据框的宽版本。

对于“Auss_ord”中的每个唯一值(某些文本字符串),都应该有一个新列,并且如果另一个对象具有相同的值,还应该检查它是否为“真”。

以便...

……应该变成……

示例数据框(宽版本)

我尝试过重塑操作,例如

或者

...但是我没有得到任何正确的结果,除了(对我来说)检查值的唯一性的非常棘手的实现