如何在不使用 ifelse 的情况下基于范围创建因子列?

2024-01-07

我的数据框中有一个数字字段,例如月收入,范围从 15000 印度卢比到 60000 印度卢比不等。

我想要一个新字段,比如 Income_group ,它将有一个与收入范围相对应的数字,比如小于 15000 为 1,大于 15000 但小于 30000 为 2,依此类推。

一种方法是使用像这样的嵌套 ifelse 语句

mydataframe$incomegp <- ifelse(monthincome_condition, assign_number, 
                               ifelse statement and so on)

但由于我有大约 7 个与此范围相关的不同数字,所以我一直在寻找更优雅的解决方案。此外,分类的数字不是连续的,例如1、3、5、7、9、12、15。

我是 R 新手,有人可以建议一些不需要嵌套的替代方案吗?

一个例子就很好了,会对我有帮助。


下面这段代码使用cut将数据向量分为 4 个类别(5 个中断),使用 R 内置数据集的示例:

with(mtcars, cut(mpg, seq(min(mpg) * 0.99, 
                          max(mpg) * 1.01, 
                          length = 5)))

请注意,我添加了* 0.99 and * 1.01因为如果将它们设置为数据本身的最小值和最大值,则等于该最小值/最大值的数据将被标记为NA.

如果您提前知道休息时间,则可以简单地在向量中手动指定它们(c(break_value1, break_value2, etc))而不是使用即时生成它们seq.

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

如何在不使用 ifelse 的情况下基于范围创建因子列? 的相关文章

  • 计算一列中正数和负数的数量

    我想计算数据帧的一列中正值和负值的数量 我在 R 中该怎么做 例如 这里是数据框 logFC logCPM LR PValue FDR Bra15066 5 630822 5 184586 73 79927 8 647868e 18 4 0
  • 将循环转换为并行计算的函数

    我正在使用 R 编程语言 我遇到这个问题 我试图找出两个 shapefile 之间的成对交集 即第一个 shapefile 中的每个多边形与第二个 shapefile 中的所有多边形相交的百分比 我想我找到了解决这个问题的基本方法 Load
  • 替换列表列表中的元素

    The applyR 中的函数是简化 for 循环以获得输出的好方法 是否有一个等效的函数可以帮助人们在替换向量的值时避免 for 循环 通过示例可以更好地理解这一点 Take this list for example x list li
  • 将年月格式转换为 POSIXct [重复]

    这个问题在这里已经有答案了 我有一些年月形式的数据 我想将其格式化以用于绘图ggplot date lt c 2016 03 2016 04 2016 05 2016 06 2016 07 2016 08 2016 09 2016 10 2
  • numpy.histogram 的 hist 维度,密度 = True

    假设我有这个数组 A array 0 0019879 0 00172861 0 00527226 0 00639585 0 00242005 0 00717373 0 00371651 0 00164218 0 00034572 0 008
  • 如何在for循环中引用变量?

    我正在循环访问不同的 data tables 和 data table 中的变量 但我在引用内部变量时遇到问题for loop dt1 lt data table a1 c 1 2 3 a2 c 4 5 2 dt2 lt data tabl
  • 计算每个唯一值出现的次数

    假设我有 v rep c 1 2 2 2 25 现在 我想计算每个唯一值出现的次数 unique v 返回唯一值是什么 但不返回它们的数量 gt unique v 1 1 2 我想要一些能给我的东西 length v v 1 1 25 le
  • 重复测量引导统计数据,按多个因素分组

    我有一个看起来像这样的数据框 但显然还有更多行等 df lt data frame id c 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 cond c A A B B A A B B A A B B A A B B co
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • 使用 purrr 迭代替换数据帧列中的字符串

    我想用purrr使用以下命令在数据框列上迭代运行多个字符串替换gsub 功能 这是示例数据框 df lt data frame Year 2019 Text c rep a aa 5 rep a bb 3 rep a cc 2 gt df
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • Dendextend:关于如何根据定义的组为树状图的标签着色

    我正在尝试使用一个名为 dendextend 的很棒的 R 包来绘制树状图并根据一组先前定义的组为其分支和标签着色 我已阅读您在 Stack Overflow 中的答案以及 dendextend vignette 的常见问题解答 但我仍然不
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 为什么 dplyr filter() 不能在函数内工作(即使用变量作为列名)?

    使用 dplyr 函数对数据进行过滤 分组和变异的函数 基本管道序列在函数之外工作得很好 这就是我使用真实列名称的地方 将其放入一个函数中 其中列名称是一个变量 并且某些函数可以工作 但有些函数则不能 尤其是 dplyr filter 例如
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use

随机推荐

  • 无法计算 Vim 中的匹配数

    如何计算 Vim 中的匹配数 例如 对于文本
  • 谷歌大查询中行之间的差异

    我目前正在尝试计算谷歌大查询中行之间的差异 我实际上有一个有效的查询 SELECT id record time level lag level lag as diff FROM SELECT id record time level LA
  • Java 8 使用 Lambda 过滤数组

    我有一个double 我想在一行中过滤掉 创建一个没有的新数组 负值而不添加for循环 使用 Java 8 lambda 表达式可以实现这一点吗 在 python 中 使用生成器将是这样的 i for i in x if i gt 0 在
  • 为什么不能在类声明中使用“is_base_of”(不完整类型)?

    我完全明白为什么会这样cannot work class Base class A static assert std is base of
  • Android - getAdapterPosition() 在删除项目后返回 -1

    标题说明了一切 我有一个RecyclerView它用于动态存储值 但一次只能存储一项 该项目包含 3TextViews 当我正常添加所有项目时 它可以工作 但是当我添加 x 项目 然后删除最后一项 然后单击 提交 时 应用程序崩溃 I do
  • 正则表达式 - 将匹配的文本移动到行的前面

    我一直在使用正则表达式 在 textmate 查找和替换工具中 将我收到的值表重新格式化为 PHP 数组 我已经完成了大部分工作 但仍在为最后的改变而苦苦挣扎 当前状态 subSectors 1 Crop Animal Production
  • 从 NodeJS 查询 Oracle 数据库中的大数据集

    我目前正在开展一个工作项目 其中我有一个 Oracle 10 数据库表 其中包含约 310K 的给予或获取 10 30K 行 目标是在有角度的前端中显示这些行 但是通过 NodeJS 返回所有这些行需要花费大量时间 鉴于我是第一次使用 No
  • 仅允许访客在 WooCommerce 中结帐特定产品

    以下代码将自定义字段添加到管理产品设置 以在产品级别管理访客结账 Display Guest Checkout Field add action woocommerce product options general product dat
  • 如何在角度应用程序的故事书中加载全局scss文件?

    我正在尝试加载故事书中的自定义全局样式文件 theme default scss 虽然我的组件正在故事书中加载 但样式没有被应用 我遵循了本教程故事书官方文档 https storybook js org docs configuratio
  • 为什么VARCHAR需要长度指定?

    为什么我们总是需要指定VARCHAR length 而不是仅仅VARCHAR 无论如何它都是动态的 UPD 我特别困惑的是它是强制性的 例如在 MySQL 中 VARCHAR 的 长度 不是内容的长度 而是内容的最大长度 VARCHAR 的
  • Pandas:替换字符串列值

    我有一个 pandas 数据框 其中有一个我正在尝试格式化的成本列 基本上 替换字符串并将其标准化 因为成本值是从不同来源提取的 还有一些 NaN 这是一些示例数据 2 75 nan 4 150000 25 00 4 50 我有以下代码 用
  • 在tomcat中配置内容安全策略

    我读到了有关配置 实现 Content Security Policy 标头的信息 并且遇到了两种执行此操作的方法 使用实现 Filter 的自定义过滤器 如下所示this https stackoverflow com questions
  • 如何使用 Kusto 在 Grafana 上执行多图时间序列

    嗯 我想这样做 https grafana com docs grafana v9 0 basics timeseries dimensions https grafana com docs grafana v9 0 basics time
  • 为什么“scheduledTimer”在块外设置时会正确触发,但在块内却不能?

    当在完成块外部调用时 以下代码片段可以完美运行 但是当我在块内部设置计时器时 计时器永远不会被触发 我不明白为什么会有差异 self timer Timer scheduledTimer timeInterval 1 target self
  • 在 redux-saga 中等待

    我想在传奇中引入延迟 使用 redux saga 我怎样才能做到这一点 如果 redux saga 提供了 API 我也会对如何手动实现它感兴趣 function save payload yield put pending I want
  • QImage 加载某些图像的方向错误

    我从如下所示的图像文件实例化 QImage 然后将其渲染在 QWidget 上 QImage const QString fileName const char format 0 对于大多数图像来说 一切正常 但对于一些图像 QImage
  • Python venv不创建虚拟环境

    我正在尝试使用以下命令为我当前的 Django 项目创建一个虚拟环境 python3 m venv env 但是该命令不会创建任何包含 bin include lib 文件夹的目录 我在这里到底缺少什么 有时系统的路径环境不知道虚拟环境执行
  • 推送到 Github 时 Git 推送挂起?

    每次我尝试推送到 github 时 Git Push 都会挂起 我正在使用 Cygwin 和 Windows 7 Git 可以在本地跟踪分支 提供状态 设置全局 user name 和 user email 并允许提交 我还是个新手 正在学
  • 使用 Xamarin 在 Android 中播放视频

    在 Xamarin for Android 中使用 VideoView 我想播放资源中的视频 这是代码 var videoView VideoView FindViewById
  • 如何在不使用 ifelse 的情况下基于范围创建因子列?

    我的数据框中有一个数字字段 例如月收入 范围从 15000 印度卢比到 60000 印度卢比不等 我想要一个新字段 比如 Income group 它将有一个与收入范围相对应的数字 比如小于 15000 为 1 大于 15000 但小于 3