将因子转换为整数,同时保持因子级别排序

2023-12-27

我有一个 R 数据框,其中一列是一个因子,其级别具有隐式排序。如何将因子水平转换为特定整数通过以下方式:

  • “强烈不同意”--> 1
  • “有点不同意” --> 2
  • “中立”--> 3
  • “有点同意” --> 4
  • “强烈同意”--> 5

例如,这是我的数据框:

agree <- c("Strongly agree", "Somewhat disagree", "Somewhat agree",
           "Neutral", "Strongly agree", "Strongly disagree", "Neutral")
age <- c(41, 35, 29, 42, 31, 22, 58)

df <- data.frame(age, agree)
df
#   age             agree
# 1  41    Strongly agree
# 2  35 Somewhat disagree
# 3  29    Somewhat agree
# 4  42           Neutral
# 5  31    Strongly agree
# 6  22 Strongly disagree
# 7  58           Neutral

str(df)
# 'data.frame': 7 obs. of  2 variables:
#  $ age  : num  41 35 29 42 31 22 58
#  $ agree: Factor w/ 5 levels "Neutral","Somewhat agree",..: 4 3 2 1 4 5 1

现在,我想将agree使用上面显示的映射将列设置为整数列。

我已经搜索了有关将因子转换为整数的其他问题,但它们与维护因子排序无关。

"如何将因子转换为整数\数字而不丢失信息? https://stackoverflow.com/questions/3418128/how-to-convert-a-factor-to-an-integer-numeric-without-a-loss-of-information"

"将因子转换为整数 https://stackoverflow.com/questions/4798343/convert-factor-to-integer"

"将数据框中的因子转换为整数 https://stackoverflow.com/questions/9480408/convert-factor-to-integer-in-a-data-frame"


您需要首先定义因素的顺序:

ordering <- c("Strongly disagree", "Somewhat disagree", "Neutral", "Somewhat agree", "Strongly agree")

然后,当您第一次创建因子时,您应该使用该定义:

agreeFactor <- factor(agree, levels = ordering)

然后,您应该能够获得您的订购因子:

as.numeric(agreeFactor)

您也可以在使用 as.numeric() 时应用顺序,但如果您决定稍后检索数字向量并忘记应用“levels =”参数,这可能会导致不一致。

e:如果您想直接将数字导入数据框中,只需使用:

df$agree <- as.numeric(factor(df$agree, levels = ordering))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将因子转换为整数,同时保持因子级别排序 的相关文章

随机推荐

  • Android IME,在EditText中设置光标位置

    我正在使用软键盘 需要在 IME 编辑文本中设置光标位置 如上图所示 我创建了软键盘 我们可以看到在编辑文本和当前光标位置 由蓝色指示器显示 中输入了一些文本 我需要将光标位置设置在当前行的末尾 在我们的例子中 在图像中首先以红色显示的行的
  • 如何在 Ruby 应用程序中找到未使用的方法?

    我有一个 Ruby 应用程序 其中有很多类 模块 其中一些未使用 有没有一种简单的方法可以找出哪个 我正在考虑做一个配置文件 然后使用它的输出 还有其他想法吗 像 rcov 这样的覆盖工具可能会有所帮助 https github com r
  • 如何在二维图像中的不规则形状上应用纹理?

    我正在尝试从 UIColor 图案图像在 CALayer 上应用纹理 纹理正在应用 但未正确透视转换 看起来我的绘图逻辑存在问题 即我需要使用纹理图像并将其映射到不规则形状 我做了一些研究 发现这件事可以通过 OpenGL 或 Metal
  • TypeORM 选择不区分大小写的不同

    我正在尝试创建一个连接到 postgresql 数据库的 TypeORM 查询生成器以获取数据库中的所有唯一名称 我的查询看起来像这样 names await this context manager getRepository Names
  • 如何在text2vec中对齐两个GloVe模型?

    假设我已经训练了两个独立的 GloVe 向量空间模型 使用text2vec in R 基于两个不同的语料库 这样做可能有不同的原因 例如 两个基础语料库可能来自两个不同的时间段 或者两个非常不同的流派 我有兴趣比较这两个语料库之间单词的用法
  • 删除名称与模式匹配的多个数据库

    我想删除所有以单词开头的数据库 abc xyz cms db1 cms db2 cms xyz pqr 在上面给出的示例中 我想删除所有以 cms 一词开头的数据库 我想 maatkit 或 shell 脚本可以做到这一点 最好的方法是什么
  • 当 SOAP 正文包含 UTF-8 BOM 时出现 JAX-WS 错误

    我使用部署在 WebLogic 10 3 上的 JAX WS v2 1 3 Sun JDK 1 6 0 05 开发了一个 Web 服务 当我使用 Java 客户端或 SoapUI 或其他 Web 服务测试工具时 该服务运行良好 我需要使用
  • 为什么 BigQuery 不显示 Firebase-Analytics 数据?

    我正在使用 BlazePlan 并将我的 firebase 分析帐户与 BigQuery 相关联 尽管已经过去两天多了 我仍然无法在 BigQuery 中看到分析数据 有 Firebase crashlytics firebase mess
  • 如何在 blazor navigator 中将复杂对象作为参数传递

    当尝试传递复杂对象作为参数时 它只传递对象的类型名 导航到不同的组件 页面时传入复杂对象的选项有哪些 这就是我尝试过的 page showLocation SelectedOrgLocation 正在发送信息的页面 navManager N
  • 如何在Kubernetes集群中创建用户?

    我正在尝试在 Kubernetes 集群中创建用户 我使用我的 Terraform 脚本在 DigitalOcean 上旋转了 2 个水滴 然后我使用登录主节点 Dropletssh doctl compute ssh droplet1 接
  • 多处理池的意外行为

    在下面的代码中 我期望输出为 2 因为我在将函数分配给多处理池之前更改了 config 的值 但我得到的是 5 我确信这是有充分理由的 但不知道如何解释 from multiprocessing import Pool config 5 c
  • 更改动态任务中自动生成的任务名称

    我正在尝试创建一个动态工作流程 但想要更改气流自动生成的任务名称并将其分配给列表中的任务 我尝试访问上下文并手动更改taskid但这在 UI 中的管道渲染期间也不起作用 My Code def get the route router ip
  • 如何从 emf 模型生成“带注释的 java 代码”

    更准确地说 我想知道如何将注释建模到 core 模型定义中 这样生成的 java 代码就会包含它们 例如 hibernate 持久性标签 EMF 论坛上的这篇文章讨论了如何使用自定义模板来生成代码 https www eclipse org
  • 如何使用新的 YouTube iframe 样式代码嵌入高质量视频

    我正在使用 youtubes 新的 iframe 代码来嵌入视频 但视频的质量似乎比我在 youtube 上观看的质量要低 有没有办法嵌入高质量的视频 我现在的代码是 vq hd720 或 vq hd1080 解决了其他方法都失败的问题
  • 导入错误:libcublas.so.10.0:无法打开共享对象文件:没有这样的文件或目录

    我已经在 Ubuntu 18 04 上安装了 Cuda 10 1 和 cudnn 它似乎已正确安装为 nvcc 和 nvidia smi 类型 我得到了正确的响应 user nvcc V nvcc NVIDIA R Cuda compile
  • 理解java线程中的“优先级”

    我是 java 和线程世界的新手 我刚刚浏览了如下示例代码 package com alice learnthread class NewThread implements Runnable Thread t long clicker 0
  • Symfony:如何在注销后显示成功消息

    在Symfony中 用户成功注销后 如何显示 您已成功注销 之类的成功消息 1 创建一个新服务来处理注销成功事件 In services yml添加服务 logout success handler class Path To YourBu
  • 带有 ImportMany 和 ExportMetadata 的 MEF

    我刚刚开始使用托管可扩展性框架 我有一个导出的类和一个导入语句 Export typeof IMapViewModel ExportMetadata ID 1 public class MapViewModel ViewModelBase
  • 从 get_the_post_thumbnail($post->ID) 获取图片源;

    我必须从下面的代码中获取图像源 thumburl get the post thumbnail post gt ID 我在这里得到 img width 325 height 202 src http localhost TantraProj
  • 将因子转换为整数,同时保持因子级别排序

    我有一个 R 数据框 其中一列是一个因子 其级别具有隐式排序 如何将因子水平转换为特定整数通过以下方式 强烈不同意 gt 1 有点不同意 gt 2 中立 gt 3 有点同意 gt 4 强烈同意 gt 5 例如 这是我的数据框 agree l