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

r - 如何使用 fct_reorder 对数据框中的因子重新排序?

考虑以下示例

我创建了一个因子变量

我不明白根据在因子级别完成的一些其他计算来重新排序这个因子的正确语法(和逻辑)是什么。

例如,我想根据递减的值重新排序我的因子

所以 4 将是第一,3 将是第二,等等。

这样做的语法是fct_reorder什么,它背后的逻辑是什么?

谢谢!

0 投票
1 回答
137 浏览

r - 如何自动化ggplot图表中的图例?

考虑这个简单的例子

现在,我想创建一个图表,在其中交互两个因子变量。我知道我可以使用interactggplot2见下文)。

我的大问题是我不知道如何自动化交互的标签(和着色),这样我就可以避免使用scale_colour_manual.

例如:

显示:

在此处输入图像描述

由于我在scale_colour_manual(). 事实上,鲜红的点是1-a和不是1-b(注意标签是如何简单地连接变量名)。这个想法是,随着因子水平的增加,猜测正确的顺序可能会很棘手。

有没有办法自动化这个标签(更好:标签和着色)?也许使用forcats?也许事先在数据框中将标签创建为字符串?

谢谢!

0 投票
1 回答
1841 浏览

r - 在 Tidyverse 中“使用 mutate_at”重新编码多个变量之间的相同因子水平值

我有几个值“1”和“2”的因子变量需要重新编码为“是”和“否”。Tidyverse mutate_atfct_recode似乎是正确的工具。然而,

和,

有人可以指出我的错误还是我使用mutate_atvarsfct_recode错误?在 tidyverse 中是否有更好的方法来重新编码多个变量的相同因子水平,这是整理数据中非常常见的任务。

0 投票
1 回答
6893 浏览

r - 在数据框中排序分类变量

如何更改因子在数据框中的显示顺序?

使用澳大利亚州名样本的示例数据:

说我想victoria最后出现!

也尝试过forcats::fct_relevel,但虽然我可以更改级别,但它仍然不会影响因素的显示顺序。

0 投票
0 回答
408 浏览

r - 如何使用 dplyr 管道向 tibble 添加因子

我有以下数据框:

目前我正在使用以下代码对因子进行排序:

我的问题是我如何使用初始的 dplyr 管道执行相同的操作dat

0 投票
2 回答
2554 浏览

r - 如何全部更换使用 forcats::fct_explicit_na() 的 data.frame 中的值?

我有一个包含 19 个变量的数据框,其中 17 个是因子。其中一些因子包含缺失值,编码为 NA。我想对数据框中的所有因素使用 forcats::fct_explicit_na() 将缺失重新编码为单独的因素级别“to_impute”。

一个带有两个因子变量的小例子:

下面的代码对两个变量执行此操作。我想对数据框中的所有因子变量“f_names”执行此操作。有没有办法“矢量化” fct_explicit_na()?

下面的代码可以满足我的要求,但对于每个因素都是分开的:

我想要数据集中所有因素的这种表,名称在 'f_names' :

现在是:

0 投票
4 回答
4798 浏览

r - R:转换为与 case_when 相同级别顺序的因子

在进行数据分析时,有时我需要将值重新编码为因子以进行组分析。我想保持因子的顺序与指定的转换顺序相同case_when。在这种情况下,顺序应该是"Excellent" "Good" "Fail"。我怎样才能做到这一点而不像在中那样繁琐地再次提及它levels=c('Excellent', 'Good', 'Fail')

非常感谢。


0 投票
1 回答
133 浏览

r - 删除不包括 NA 的具有一个因子水平的变量

我需要在嵌套数据集中删除一级(不包括 NA)的因子变量。'drop_fixed_factors' 下面的函数在评估因子级别的数量时将 NA 视为一个级别。我该如何解决这个问题,以便对于 A==Y,B 有一个级别(A),而不是两个(A,NA)?

对于组 A == "Y",所需的输出不应具有变量 B。

0 投票
1 回答
1298 浏览

r - `f` 中的未知级别:与撇号格式相关的 fct_recode 错误

我正在尝试使用fct_recode()forcats 包中的命令重新标记一个数据框的列中的所有观察值,以与另一个数据框合并。我正在重新编码的列是来自联合国数据集的国家名称列表。我将它强制转换为一个因素,然后重新编码,但是对于其中一个国家名称,我收到了错误:

未知级别f:韩国,Dem。人民代表`

它似乎无法识别国名中的撇号。我使用anti_join()andunique()命令查找哪些条目不匹配,甚至复制并粘贴名称“Korea, Dem. People's Rep.”。到 fct_recode 给出了同样的错误。它似乎与撇号的格式有关,如以下代码行的差异所示:

但是,复制和粘贴这些看似不同格式的撇号中的任何一个都会产生相同的错误。

我不知道如何用“正确的”撇号重新编码。

我正在使用适用于 Windows 10 和 tidyverse 1.2.1 的 R 版本 3.4.3。

0 投票
1 回答
139 浏览

r - 如何通过引用提供现有变量进行变异?

这是我的数据:

而且,我想使用 rlang 之类的东西将 A 从 C 升级到 E,但它不起作用!

我想要的输出是:

但是,我不想手动提供 A,而是想以编程方式提供这些,使用 var 字符向量在 rlang syms 中提供一些东西。

我该怎么做?