|
|
1
8
如果我理解正确,这个问题由两部分组成:
第一部分
,这是
几乎
副本
Apply multiple functions to multiple columns in data.table
但是还有一个额外的要求,即结果应该使用
所以,,
eddi's answer
,我们需要创造
到目前为止,4
绘制时,比较结果更容易:
请注意对数时间刻度。
非上市
方法始终是最快的方法,其次是
dcast
正在追赶更大的问题规模
编辑:第二个基准jangorecki ,我用更多的行和不同数量的组重复了基准测试。 由于内存限制,最大的问题大小是10 M行乘以102列,占用7.7 GB内存。
如所料
循环类
随着组数的增加,退化程度更大
似乎受影响较小。对于人数较少的群体,则
接近总是比速度快
而对于许多团体来说
基于语言的计算this follow-up question ,我已加入 将整个表达式创建为字符串、进行解析和计算的方法。
然后通过以下方式对其进行评估:
产生
我已经修改了第二个基准测试的代码,以包含这种方法,但不得不将额外的列从100列减少到25列,以应对更小PC的内存限制。图表显示,“eval”方法几乎总是最快或第二的:
|
|
|
2
6
下面是data.table的答案:
|
|
3
1
考虑建立一个数据表的列表,在这里您遍历每个
科尔乔伊
功能选择
(相应地设置名称)。然后,要将所有数据表合并在一起,请运行
科尔乔伊
已重命名为驼峰案和
|
|
|
4
0
使用data.table似乎没有一个简单的答案,因为还没有人回答这个问题。因此,我将提出一个基于dplyr的答案,它应该满足您的需求。我使用内置的iris数据集作为示例:
或对列和函数使用字符向量输入:
|
|
|
5
0
|
|
|
Marco_CH · 根据动态相关的两个条件进行筛选 4 年前 |
|
|
mt1022 · 分组数据时的不同结果。以不同方式使用数字索引的表列 8 年前 |
|
|
shy zhan · 如何改变数据。有很多列的表? 8 年前 |
|
|
Serhii · 标记数据中按组随机选择的N行。桌子 8 年前 |
|
|
T.Beil · 在数据表中选取均匀分布的样本 8 年前 |
|
|
IceCreamToucan · 选择要保留/放入数据的组。桌子 8 年前 |