根据计数折叠数据框中所有因子变量的因子级别

2024-01-14

我想根据频率仅保留前 2 个因素级别,并将所有其他因素分组为“其他”。我尝试过这个但没有帮助。

df=data.frame(a=as.factor(c(rep('D',3),rep('B',5),rep('C',2))), 
              b=as.factor(c(rep('A',5),rep('B',5))), 
              c=as.factor(c(rep('A',3),rep('B',5),rep('C',2)))) 

myfun=function(x){
    if(is.factor(x)){
        levels(x)[!levels(x) %in% names(sort(table(x),decreasing = T)[1:2])]='Others'  
    }
}

df=as.data.frame(lapply(df, myfun))

预期输出

       a b      c
       D A      A
       D A      A
       D A      A
       B A      B
       B A      B
       B B      B
       B B      B
       B B      B
  others B others
  others B others

这可能会有点混乱,但这是一种通过基础 R 的方法,

fun1 <- function(x){levels(x) <- 
                    c(names(sort(table(x), decreasing = TRUE)[1:2]), 
                    rep('others', length(levels(x))-2)); 
                    return(x)}

然而,上述函数需要首先重新排序,并且正如OP在评论中所述,正确的函数是,

fun1 <- function(x){ x=factor(x, 
                     levels = names(sort(table(x), decreasing = TRUE))); 
                     levels(x) <- c(names(sort(table(x), decreasing = TRUE)[1:2]), 
                     rep('others', length(levels(x))-2)); 
                     return(x) } 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据计数折叠数据框中所有因子变量的因子级别 的相关文章

  • r : 直方图上的 ECDF

    在 R 中 与ecdf我可以绘制经验累积分布函数 plot ecdf mydata 与hist我可以绘制数据的直方图 hist mydata 如何在同一图中绘制直方图和 ecdf EDIT 我尝试做类似的东西 https mathemati
  • R:变换不规则时间字符串

    我有两个不同的时间序列 来自不同的数据帧 具有不同的不规则格式 但问题是相同的 我只想提取小时 分钟 秒和毫秒 时代系列看起来像这样 ts1 08 27 23 445 08 27 24 280 08 27 25 115 I tried st
  • 在 R 中读取 Stata 13 文件

    有没有办法在 R 中读取 Stata 版本 13 数据集文件 我尝试执行以下操作 gt library foreign gt data read dta TEAdataSTATA dta 但是 我收到一个错误 read dta TEAdat
  • Dplyr 多重滞后整齐评估?

    我试图在 dplyr 中使用尽可能少的代码来实现多个滞后 同时坚持整洁的评估 以下标准评估 SE 代码有效 if require dplyr install packages dplyr library dplyr a as tibble
  • 将文本添加到 ggplot 中的轴标签

    我从下表中绘制了一个图表 BoatPhs fit se lower upper 1 Before 3 685875 0 3287521 3 038621 4 333130 2 After0 20NTA 3 317189 0 6254079
  • 仅在具有重复块名称的另一个 Rmarkdown 文档中运行一个 Rmarkdown 文档中的代码

    我正在 Rmarkdown 中编写一系列相互补充的报告 我想将上一份报告的结果纳入我目前正在编写的报告中 我看到其他建议使用的问题purl从 Rmarkdown 文档中提取 R 代码然后运行它 所以我尝试了以下操作 r read previ
  • r Shiny 中的 fileInput 函数没有响应

    我是 R 和 R闪亮的新手 一直致力于构建一个统计应用程序 该应用程序将允许用户导入文件 然后对数据运行不同的统计程序 直到最近 fileData 函数一直对我来说运行良好 现在每当我尝试上传文件时 都不会打开任何内容 我已尝试了所有我能想
  • 通过 RSelenium 单击按钮

    我正在尝试使用 Rselarium 和 Rvest 来抓取 REI 的评论 吊床 我想点击底部的按钮 x 次 这样我就可以抓取所有评论 我有点失落 这是我到目前为止所拥有的 如果您也知道如何在取景器中预览您正在做的事情 而不是屏幕打印 那就
  • R 条形图中的 X 轴

    我想问一个关于 barplot 轴的问题 首先请看我的数据 SerNo DOY Rain 1 350 0 2 351 0 3 352 0 4 353 0 5 354 0 6 355 0 7 356 0 8 357 0 9 358 0 10
  • 如何用日语创建 ggplot2 标题?

    我正在准备日语演示文稿 并希望图像的标题和图例名称为日语 我可以让文本在 RStudio 中渲染得很好 但是当渲染图像时 日语字符仅显示为方框 x 10 10 y x x df data frame x y ggplot df aes x
  • R:在 Shiny 中,如何修复应用于“反应性”类对象的“xtable”没有适用的方法

    我收到此错误 Error in UseMethod xtable no applicable method for xtable applied to an object of class reactive UI R library shi
  • R:在函数中包含循环?

    以下代码可用于创建一个 data frame 其中 Kendall Tau 和 Spearman 相关结果彼此相邻 data mtcars mtcars correlation lt function x y df1 cor data fr
  • 如何在 Shiny 中动态渲染的 textInput 添加样式元素

    你好堆栈溢出 在我最近提出的问题中 我已经解决了一些与动态渲染 UI 元素相关的主要问题 并在一些了不起的人的帮助下动态创建了观察者 参见此处 动态渲染的 UI 如何在第二次运行时删除旧的反应变量 https stackoverflow c
  • 使用 R 中的 tidyverse 重新调整因子和重新排序因子

    我想使用这些功能重新调平 and 重新排序 在我的数据框中 我了解重新调整级别的工作原理 但我不明白为什么我在 data frame 中看不到级别的变化 例如 假设我有鸢尾花数据集 library tidyverse head iris g
  • 如何在 R 中查找平衡面板数据(又名,如何查找面板中的哪些条目在给定窗口内完整)

    我有来自 Compustat 的大量数据 我向其中添加了一些手工收集的数据 认真地从一堆旧书中手工收集 但我不想手工收集整个面板 只想随机选择一个子集 为了找到更大的集合 我从中随机选择 我想从 Compustat 的平衡面板开始 我看到p
  • 在 Linux 下更改 RStudio 用户界面(不是图形等)中的字体大小

    This is not关于更改使用 RStudio 生成的图表中的字体大小的问题 我已经知道该怎么做了 我在配备 视网膜 显示屏的 MacBook Pro 上的 Linux 下使用 RStudio 我使用 KDE 作为我的窗口管理器 我可以
  • 在 R Shiny 中显示/隐藏整个框元素

    我目前正在尝试找到一种方法来隐藏 显示 R Shiny 中的整个 box 元素 以及里面的所有内容 我想创建一个可能的按钮 它允许用户展开特定框 然后使用相同 甚至不同 的按钮隐藏它 我不想使用条件面板 因为我的应用程序非常大并且会产生一些
  • 如何将 mcmc.list 转换为 bugs 对象?

    我正在使用rjagsR 库 功能coda samples产生一个mcmc list 例如 来自example coda samples library rjags data LINE LINE recompile LINE out lt c
  • 绘制带有颜色渐变的geom_segment线? (或者还有另一种方法来强调开始与结束吗?)

    我的数据框中有大量行 100 000 的两组纬度和经度变量 我正在尝试绘制一个连接这两组坐标的图 即 从纬度1 经度1 to 纬度2 经度2 使用 geom segment 使用非常低的 alpha 使线条透明 因为线条太多 我想强调这些线
  • R Shiny - 使用 DataTable 移动列名称

    我有一个非常复杂的闪亮代码 其中有几个面板和这些面板内的几个表格 启动应用程序时 列名称与列值正确对齐 但是 一旦我更改应用程序表格下的页码 列名称就会移动到左侧 而值仍保留在中间 如何强制应用程序使列名称与列值对齐 一个可重现的例子 li

随机推荐

  • ReactJS 组件文本区域未在状态更改时更新

    我正在尝试编写一个记笔记 组织应用程序 但遇到了一个令人沮丧的错误 这是我的组件 import React from react const Note props gt let textarea noteForm if props note
  • CSS - 100% 宽度的输入与 div 重叠

    我正在尝试修复带有填充 边框的常规输入框 在带有填充的 div 内 但是 我希望输入的宽度为 100 但正如您所看到的 它重叠了 我该如何解决 CSS one background red width 300px padding 5px t
  • 来自数据库的漂亮网址

    我正在尝试在我的网站上获取漂亮的网址 现在它们看起来像这样 www site com tag php id 1 我想把它改成 www site com tag 1 slug 我的数据库表有 ID 标题 信息 Slug 我在网上读到有关 sl
  • 使用 Tortoise SVN 进行恢复

    如果我在 TortoiseSVN 中查看 Subversion 日志 当我选择修订版本并右键单击时 我会看到以下选项 以及其他选项 将项目更新为修订版 恢复到此版本 恢复此版本的更改 有人可以解释一下这3者之间有什么区别吗 我真正想做的是暂
  • 在 sql case 语句中使用比较符号

    我正在寻找一种使用小于和大于符号在 sql select 查询中构建 case 语句的方法 例如 我想根据一个变量选择一个排名 DECLARE a INT SET a 0 SELECT CASE WHEN a lt 3 THEN 0 WHE
  • 检测谁创建了线程(w. Eclipse)

    在 Java 中如何找出谁创建了线程 想象一下 您使用 30第三者复杂插件环境中的 JAR 您启动它 运行大量代码 进行一些计算 最后调用 shutdown 这个生命周期通常工作得很好 除了每次运行时一些 非守护进程 线程保持悬空状态 如果
  • MATLAB 散点图中的线性回归线

    我正在尝试获取两个变量散点图的残差 我可以使用最小二乘线性回归线lslinematlab的函数 但是 我也想得到残差 我怎样才能在matlab中得到这个 为此我需要知道参数a and b线性回归线的 ax b 使用功能polyfit htt
  • 如何在自定义约束验证器中使用注释元素

    我在我的项目中编写了一个名为 CGC 的自定义注释 Target METHOD FIELD ANNOTATION TYPE CONSTRUCTOR PARAMETER Retention RUNTIME Documented Constra
  • Gitlab-Ci:如何在作业之间共享数据

    我想在两个作业之间共享一个文件 并在文件发生更改时对其进行修改 python 脚本比较cache json文件发生更改并有时修改缓存文件 gitlab ci yaml image ubuntu stages test cache key o
  • 如何在包含数据的表上创建序号列索引

    我有下表 其中包含 10 个唯一行 BookingID 是包含随机数的 FK 该数字不需要按顺序排列 BookingID Description 1000 Foo 3000 Bar 1500 Zoo 我需要插入一个名为 ID 的顺序索引 该
  • 咖啡因缓存 - 指定条目的到期时间

    我正在努力进一步加深我对咖啡因缓存 https github com ben manes caffeine 我想知道是否有一种方法可以为缓存中填充的条目指定超时 但其余记录没有基于时间的到期时间 本质上我希望有以下界面 put key va
  • 如何通过部分 ID 值选择 CSS 中的元素?

    我有一些用 PHP 生成的元素 我想知道是否可以选择 id 不完整的元素 例如 div class 1 div div class 2 div div class 1 div div class 2 div 该类已经习惯了它们的共同点 但现
  • Android - 窗口标志

    有没有办法检测窗口标志何时触发 假设我有一个WindowManager LayoutParams FLAG SECURE 当我触发它时如何检测它 我尝试用谷歌搜索问题 但我所得到的只是设置 添加窗口标志 谢谢 在您的活动中只需覆盖onWin
  • 使用元组而不是冻结集作为字典的键是否存在性能差异?

    我有一个脚本 它使用由两个变量组成的键多次调用字典 我知道我的程序将以相反的顺序再次遇到这两个变量 这使得将密钥存储为元组变得可行 创建一个行和列具有相同标签的矩阵 因此 我想知道使用元组而不是冻结集作为字典键是否存在性能差异 在快速测试中
  • SVN:如何在提交时忽略修改的文件? [复制]

    这个问题在这里已经有答案了 我在svn中编辑了一些文件 如下所示 svn st M a M b 现在 我想将我的更改提交到 svn 由于某种原因 我不想提交文件b 有没有快速的方法或命令来忽略修改的文件b 最后 我使用 yzucker解决方
  • C# 任务栏中的 Windows 7 进度条?

    如果您注意到在 Windows 7 Beta 中 如果您复制文件或其他系统操作 任务栏中的 Windows 资源管理器图标将填充一个绿色进度条 相当于表单上的进度条 有没有一种方法可以在我的 C 表单中强制我的任务栏进度条与我正在执行的任何
  • 将数据插入 ms access 表时出现语法错误

    我有以下代码 OleDbConnection aConnection new OleDbConnection Provider Microsoft ACE OLEDB 12 0 Data Source storage db accdb st
  • XPath 表达式对 //element 不返回任何内容,但 //* 返回一个计数

    我将 XOM 与以下示例数据一起使用 Element root cleanDoc getRootElement find all the bold elements as those mark institution and clinic
  • C# 中将父对象转换为子对象

    您好 我想在 C 中将父对象转换为子对象 public class Parent public string FirstName get set public string LastName get set public string Ci
  • 根据计数折叠数据框中所有因子变量的因子级别

    我想根据频率仅保留前 2 个因素级别 并将所有其他因素分组为 其他 我尝试过这个但没有帮助 df data frame a as factor c rep D 3 rep B 5 rep C 2 b as factor c rep A 5