r - 将变量重新编码为 R 中带有级别名称的因子
问题描述
使用我的数据集bikeshare,我想将可变季节重新编码为具有有意义的级别名称(即“冬季”、“春季”、“夏季”、“秋季”)的因素,以春季作为基线级别。
这是我的尝试:
bikeshare <- bikeshare %>%
mutate(season = factor(c(1 = "winter",
2 = "spring",
3 = "summer",
4 = "fall")))
这是我得到的错误:
Error in UseMethod("mutate_") : no applicable method for 'mutate_' applied
to an object of class "factor"
我会很感激任何帮助,我是初学者。
解决方案
另一种选择是在labelled
包的帮助下标记整数级别。所以它们仍然是整数,但标签作为元数据。如果您想在任何时候将标记的整数转换为因子,您可以使用该to_factor
函数来实现。
library("tidyverse")
library("labelled")
labels <- c(
"winter" = 1,
"spring" = 2,
"summer" = 3,
"fall" = 4)
bikeshare <-
tibble(season = 1:4) %>%
mutate(season = labelled(season, labels)) %>%
mutate(seasonF = to_factor(season))
bikeshare
#> # A tibble: 4 x 2
#> season seasonF
#> <int+lbl> <fct>
#> 1 1 [winter] winter
#> 2 2 [spring] spring
#> 3 3 [summer] summer
#> 4 4 [fall] fall
由reprex 包(v0.2.1)于 2019 年 3 月 3 日创建
推荐阅读
- flutter - 如何在flutter中实现搜索listview
- javascript - 在 TypeScript 映射中使用默认参数理解 HOF
- javascript - React 渲染元素无效,而导入和导出似乎没问题
- kubernetes - Spring 批处理工作程序 pod 仅安排 2 个工作程序节点
- postgresql - Docker 撰写将 ECONNREFUSED 127.0.0.1:3333 与 AdonisJS、Postgres 连接
- bash - Bash:使用 printf 在动态终端宽度的任一侧填充中心和彩色文本
- javascript - 从不同的父级中删除类
- python-3.x - PythonPDF: FileNotFoundError: [WinError 2] 系统找不到指定的文件
- java - 覆盖问题:当存储在 ArrayList 中时,第一个地图被第二个覆盖,因此可以看到第二个地图两次
- java - 如何动态设置activiti任务名称?