问题标签 [forcats]

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 投票
3 回答
1134 浏览

r - 基于另一列的综合因子

该示例显示了不同工厂的生产输出的测量值,其中第一列表示工厂,最后一列表示生产量。

现在我想根据这个数据集中的总产量将工厂归为更少的级别。

使用普通的 forcats::fct_lump,我可以按你出现的行数来汇总它们,例如制作 3 个级别:

但我想根据总和(生产)对它们进行汇总,保留前 n = 2 个工厂(按总产量)并将其余工厂汇总。期望的结果:

有什么建议么?

谢谢!

0 投票
1 回答
1843 浏览

r - 在 dplyr 中有效地折叠、排序和删除因子

对大型数据框进行子集化会给我们留下一个需要重新排序和删除缺失因子的因子变量。一个代表如下:

根据这个答案,下面的代码实现了我们想要的,但我们希望将因素的重新排序和删除集成到我们对调查的管道重新编码中。

任何指针将不胜感激!

0 投票
2 回答
393 浏览

r - 折叠一列中因子变量的水平,同时对另一列中的计数求和

我最初有一个不同的数据(4 行,158 列),我用reshape::melt()它来创建一个长数据集(624 行 x 3 列)。

但是,现在我有一个这样的数据集:

这会产生一个类似于下面的表格:

现在我想要创建的是这样的:

这意味着当我折叠标准列时,它会汇总计数:

我试过使用forcats::fct_collapseforcats::recode()无济于事 - 我很肯定我只是做得不对。提前感谢您提供的任何帮助。

0 投票
1 回答
292 浏览

r - 如何以 geom_col/geom_area 为基础绘制一个因子水平

我编写了以下函数来制作自定义堆叠图:

现在,我想将它与如下数据一起使用:

所以我做了以下情节:

在此处输入图像描述

这是我的问题。我无法弄清楚我的因子变量 ( category1) 的堆叠顺序。我想做的是重新排序我的函数中的因子级别,以便base类别始终显示为从 0 开始,其余级别将堆叠在它之上或之下。好吧,它并不总是必须命名为base,但我认为我们可以为我们的函数添加一个参数并为其提供base变量的名称。当然,输入data文件可以有不同数量的类别。

0 投票
1 回答
2699 浏览

r - fct_reorder 因子列按另一列

我有这个数据框叫test

我想根据 重新排序event_typehazard_ratio所以我尝试了这个无济于事..

0 投票
1 回答
344 浏览

r - 以升序重新排序因子(序数)变量

假设我的数据框中有一个变量,如下所示:

现在,我想按升序重新排列级别。从理论上讲,我可以factor再次使用并手动定义级别:

但从长远来看,它似乎很麻烦,可能有更多的关卡。那么如何按升序重新排序级别?

0 投票
1 回答
63 浏览

r - 如何将因素折叠成“其他”(不基于大小)

我正在处理 NHL 球员数据,我基本上想将选定的球员积分与其他人群进行比较。所以我有看起来像这样的玩家数据:

对于联盟的其他成员,依此类推。我想将其中一个观察结果与其余数据集之间的汇总统计数据进行比较。

我已经看到 fct_lump 用于选择顶级记录,并按一些计数进行排序 - 但是当我尝试使用类似于使用播放器名称的方法时,我无法让它工作。

0 投票
1 回答
712 浏览

r - dplyr 为两个因子变量生成全套虚拟交互项

假设我有两个因子变量,一个在我的情况下有很多因子(multi.factor),另一个只有两个因子(two.factor),并且它本身是一个虚拟变量。

我如何使用一种dplyr或其他tidyverse方法为这两个变量创建一组虚拟交互项?换句话说,我需要 4 * 1 = 4 个新的虚拟变量,如果two.factor为 1,则为 1,并且multi.factor是交互项中命名的因子,否则为 0。要做到这一点很长的路要走:

(我还没有制作multi.factortwo.factor实际的因素,我只是使用整数来表示因素水平以保持复制简单。在我的实际数据中,multi.factor是字符串。我怀疑tidyverse解决方案不会关心。)

0 投票
1 回答
962 浏览

r - 如何使用 forcats 根据另一个变量的子集(方面)对因子重新排序?

forcats 小插图指出

forcats 包的目标是提供一套有用的工具来解决与因素有关的常见问题

事实上,其中一个工具是通过另一个变量重新排序因子,这是绘制数据的一个非常常见的用例。我试图用它forcats来实现这一点,但在多面情节的情况下。也就是说,我想通过其他变量重新排序一个因子,但只使用数据的一个子集。这是一个代表:

这段代码产生的情节接近我想要的:

在此处输入图像描述

但我希望净度轴按值排序,这样我就可以快速找出哪个净度值最高。但是每个方面都意味着不同的顺序。所以我想选择按特定方面内的值对图进行排序。

当然,在这种情况下,直接使用 是forcats行不通的,因为它会根据所有值对因子进行重新排序,而不仅仅是特定方面的值。我们开始做吧:

然后它产生这个情节。在此处输入图像描述

当然,它根据整个数据对因子进行了重新排序,但是如果我想要按“理想”切割的值排序的情节怎么办?,我该怎么做forcats呢?

我目前的解决方案如下:

这会产生我想要的东西。

在此处输入图像描述

但我想知道是否有更优雅/更聪明的方式来使用forcats.

0 投票
1 回答
1065 浏览

r - 将字符串变量传递给 forcats::fct_reorder

知道如何将字符串排序变量传递给fct_reorder吗?

试过bang bang !!

试过eval

有什么建议么?