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

r - 基于另一列重新排序的 Forcats 解决方案

好的,我知道这fct_reorder()可以让您根据另一列重新排序因子,但据我所知,您必须提供一些在第二列上运行的函数(平均值、中位数等),以便它知道如何对列进行排序. 但是,如果您有另一列按您希望列按原样平整/排序的方式进行排序,该怎么办?

例如,我有一列ACADEMIC_PERIOD_DESC用英文给出学年:“Fall 2019”、“Spring 2020”等,我有一个对应的列,ACADEMIC_PERIOD即对应学年的数字代码:“201940, ” “202020”等。这是我要ACADEMIC_PERIOD_DESC拉平的列。

数据

即使不必要地应用中位数,我是否应该执行以下操作?

我也知道我可以像这样使用base R:

有没有更优雅的 forcats/tidyverse 解决方案?我只是错过了什么吗?

谢谢!

0 投票
1 回答
184 浏览

r - 转换为因子,然后在图表上以自定义顺序显示

我在以下数据框中有一个字符列。我想将其更改为这样一种方式,即当我使用 ggplot 绘制结果时,我的 x 轴上的标签按特定顺序排列:

我想将前两列更改为因子,重新编码并更改它们的顺序:

在图表上显示的顺序将是根据每Correspondence列中的一个给出的标签。

0 投票
1 回答
103 浏览

r - 如何说服 fct_infreq 我正在使用数值向量?

我付出了很多努力来创建一个新变量andel,我想使用 ggplot2 按频率顺序对其进行可视化。

我写的:

我收到一条错误消息,声称:

我已经使用了所有诊断工具作为我的处置和“andel”似乎是一个数字向量。究竟是什么问题,我该如何解决?

重复:

0 投票
1 回答
71 浏览

r - Forcats,因子重新平衡和函数中的用户指定参数

我正在编写一个函数来重新排序 tibble 中的列,以便 ggplot 以有意义的顺序而不是按字母顺序绘制它们。这个函数是我正在尝试编写的一个包的一部分,我允许 tibble 使用不同的列名。我想做这样的事情:

但是,当我调用此函数时,它给了我一条警告消息:“1:'f': 中的未知级别”,然后它给出了我的 fact_list 中的两个项目。这些是列中仅有的两个字符串。此外,它确实给了我一个 tibble,其中列的内容已替换为 col_name 的字符串。

我花了很长时间才弄清楚如何使用函数中提供的参数进行变异,但我无法弄清楚 forcats 的语法应该是什么,所以它意识到我指的是列名。如果我将列名直接替换到代码中,它可以工作:

我也尝试使用 base r 函数因子,但没有运气,因为我也无法让因子接受参数。

希望这很清楚,并提前感谢您的任何建议。

0 投票
0 回答
34 浏览

r - 为什么 stringr 和 forcats 中替换的命名约定不同?

我很难记住将键值对传递给stringr::str_replace_all()and的正确命名约定forcats::fct_recode()。显然,这两个函数在是否需要命名字符串向量或单个命名字符串以及对的顺序方面有所不同:

知道这两个函数做不同的事情,命名约定不同是有原因的吗?也许约定只是任意的——如果不是,我想了解底层逻辑。

0 投票
1 回答
33 浏览

r - 结合数据框中所有因素的很少使用的因素水平

我想为包含许多不同因素的数据集中的每个因素组合使用少于 5 次的因素水平。虽然我知道 forcats 包中的 fct_lump() 函数可以帮助我针对单个因素实现这一目标,但是否有一个函数可以将 fct_lump() 函数应用于我数据集中的所有因素?

0 投票
1 回答
58 浏览

r - 使用 mutate_all 中的函数根据条件重新编码多个列中的变量

我有这个数据:

根据列的不同,我的值是“是”,后面是各种字符链(“是的,一整天”,“是的:全天”,等等......)。我所有的价值观都以是或否开始。我想用单词“Checked”替换以yes开头的每个值,并且用“Unchecked”替换以“No”开头的每个值(“Checked”和“Unchecked”是我在其余数据集和我的代码中使用的其他值使用它们)

我尝试:

我收到此错误:

starts_with()` 必须在选择函数中使用。

我不知道如何简单地解决我的问题...

谢谢你的帮助 !

0 投票
1 回答
219 浏览

r - 无法解决“警告:因素 `officialTitle` 包含隐式 NA,考虑使用 `forcats::fct_explicit_na`”

我尝试了以下。为什么我仍然收到forcats警告?

#1我执行

但我得到以下信息:

#2 我注意到警告并执行以下操作

这是结果:

#3那我想也许这与forcats. 我删除forcats语句并从 plotdata 中删除 na,即

输出如下:

完整代码:

0 投票
0 回答
236 浏览

r - 因子 `country` 包含隐式 NA,考虑使用 `forcats::fct_explicit_na`

我一直在尝试使用 tidyr 分析某段代码,这是不断弹出的错误我对此很陌生,我被卡住了,谁能告诉我这段代码有什么问题

抛出的错误是

错误:未找到对象“已确认”另外:警告消息:1:因子country包含隐式 NA,考虑使用forcats::fct_explicit_na 2:因子type包含隐式 NA,考虑使用forcats::fct_explicit_na

我已经尝试forcats::fct_explicit_na在这两个变量上使用,但它似乎没有任何工作,所有帮助将不胜感激

代表是

reprex 包(v0.3.0)于 2020-04-15 创建

0 投票
0 回答
63 浏览

r - 如何删除 ggplot2 填充类别中的模式?

我正在创建以下情节ggplot2阴谋 - 请参阅“其他宗教”类别中出现的模式。它不是完全红色的。
- 我想这一定是因为我使用了该forcats::fct_other()函数来创建类别。
- 如何去除图案?这是代码: