问题标签 [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 投票
2 回答
3212 浏览

r - 带有 dcast data.table 的宽格式

我想转换这样的表(*):

变成宽幅格式,像这样:

我该怎么做?
我试过了

甚至写列名“AAA”、“BBB”、“CCC”,但它会产生错误,我无法获得所需的宽格式。我也尝试过其他选择,但没有运气。

我该怎么做?

(*) 实际上有更多的专栏,但故事是一样的。

错误是:

0 投票
1 回答
189 浏览

r - dcast.data.table 中的大数字错误

给定一个数据框,我尝试使用dcast.data.tablefrom 函数从长到宽转换library(data.table)。但是,当在公式的左侧使用大数字时,它有些组合方式。

下面是一个例子:

这将只产生 2 行,10000000007624&10000000007784并且所有内容都将总结在这两个中。

使用函数时不会出现此错误reshape2::dcast,此方法产生正确的结果。

是否有dcast.data.table产生此错误的原因?

0 投票
1 回答
1353 浏览

r - 如何为可以处理字符和数字输入的 dcast 创建自定义聚合函数?

我有一个大型数据框,我想使用 reshape2 包中的 dcast() 函数将其转换为宽格式数据。但是,值列是字符列,但其中的一些值是字符串格式的数值。我尝试创建一个自定义聚合函数来处理这个问题,如果有数字条目,它将返回平均值,但如果所有条目都是非数字,则返回第一个条目。尽管该函数似乎可以工作,但在用作 fun.aggregate 时会返回错误。下面是一个带有较小玩具示例的代码来演示。我想要的是一个 3x5 数据框,其中第一列是分组变量、3 列数值和 1 列字符值。

vapply (indices, fun, .default) 中的错误:值必须是“字符”类型,但 FUN(X[[1]]) 结果是“双”类型

0 投票
3 回答
41 浏览

r - 根据r中的另一个列级别提取列数据

我的数据如下所示:第 1 列是二进制变量,第 2 列是连续变量。

等等。我希望我的输出在新的数据框中,其中第 1 列级别为两个新的不同列(“0”和“1”)和对应的第 2 列值低于两者。这是一个可重现的示例:

所以,基本上我的输出应该是这样的:

0 投票
1 回答
357 浏览

r - 为什么 dcast 如此不可能传递非聚合函数?

我正在为这样的表使用 data.table 包:

我想从该表中创建一个包含一些汇总统计信息的新(可能是 rbindlisted)数据表。我首先创建了两个中间表a和b,

然后我试图在所有组中将这些行绑定在一起,但仍然保留沿行的分组。这不起作用:

我认为合并不起作用,因为 a 和 b 的长度不同。行绑定 a 和 b 还混合了 a 和 b 的不同均值和中位数,理想情况下,我想要一个 rbindlist,它对每列都有某种后缀,例如 c(".a",".b")。

更新:我得到一个错误(因为 a 和 b 有不同的维度)做

它返回的地方

0 投票
1 回答
90 浏览

r - R dcast 中无法识别计算列

使用 R。我是新手。我确实尝试搜索这个特定的错误/情况,但空手而归。开始:

我通过从另一列中减去现有列来创建一个数字列

当我尝试在新列上使用 dcast 时:

我收到此错误:

我尝试按位置引用新列,value.var=MYDATA[61]当我这样做时,我收到一个以以下开头的错误:

错误:value.var (list(OPREVADJ = c(-9280446, -14437883, -12637590, -14365373, -17149995, -13960077, -11458410, -3701678, -861092, -10071075, 23965, -53249362, -532,9362, 14275488、-6118691、-7801750、-7838486、-14343695、NA、-17785841、-14357459、-14787673、-480654 ...等。

与我数据中的任何其他列一起使用dcast都可以正常工作,并且完全符合它的预期。

对不起,我没有在前面说清楚。这是我的数据的样子:

我创建了新列 NETREV(显然是收入减去费用)

我希望 dcast 使其如下所示:

0 投票
2 回答
222 浏览

r - 有效地组合多个 dcast data.table(共享相同的键)

这是我要解决的简单问题:我有一个如下表所示的 data.table,我正在尝试使用dcast.data.table函数来计算每个组的进步数量,但我也有兴趣计算median成绩每组:

基本上这里是我正在寻找的结果:

现在我想知道如何在不制作两个单独的 dcast 表并在最后合并的情况下做到这一点。我正在处理我的表中的许多行和列,并且按键分组是一个瓶颈。我想知道有没有更好的方法来计算这个?

** 由于我的第一个问题含糊不清,我完全编辑(感谢 Frank 和 Akrun 的反馈)。

0 投票
0 回答
600 浏览

r - dcast 内存不足 - 替代方案?

我正在尝试将(非常)长的表格重塑为宽(非常稀疏)的表格。

尺寸:

如果我尝试标准dcast操作,由于内存不足而失败:

dcast关于为大型非常稀疏的数据集优化运行或替代方案的任何建议?

0 投票
1 回答
865 浏览

r - 指定 dcast 输出的列顺序

我有以下数据表:

我想将其转换为一行,其中 id 作为 id 变量,如下所示:

但是,这并没有按照我想要的顺序给我列,即:

我尝试使用下面的代码,它对熔化的表重新排序,希望它会按照所需的顺序进行转换:

但结果是一样的,看来我需要以某种方式在对 dcast 的调用中指定顺序,但我不知道如何做到这一点,因此非常感谢任何帮助!

非常感谢,如果我遗漏了一些明显的东西,我们深表歉意。

0 投票
1 回答
270 浏览

r - R 使用 dcast、melt 和连接来重塑数据框

我有一个数据框如下:

产生数据框:

我希望将此数据框转换为以下resultDF

行标题表示类似 Countlessthan13 的操作意味着 Count < 13 应用于术语然后进行分组。另请注意,品牌名称是独一无二的,不会重复。

我已经尝试过 dcast 和 melt ......但没有得到想要的结果。