基于因子变量中观测值数量的子集化

2023-12-07

如何根据因子变量水平的观察次数进行子集化?我有一个包含 1,000,000 行和近 3000 个级别的数据集,我想用少于 200 个观察值对级别进行子集化。

data <- read.csv("~/Dropbox/Shared/data.csv", sep=";")

summary(as.factor(data$factor)
10001 10002 10003 10004 10005 10006 10007 10009 10010 10011 10012 10013 10014 10016        10017 10018 10019 10020 
  414   741  2202   205   159   591   194   678   581   774   778   738  1133   997   381   157   522     6 
10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 
  398   416  1236   797   943   386   446   542   508   309   452   482   425   272   261   291   145   598 
10039 10040 10041 10043 10044 10065 10069 10075 10080 10104 10105 10106 10110 10112 10115 10117 10119 10121 
  119   263     9     9   179   390    70   465    19     3     7     5     4     1     1     1     2     6 
10123 10128 10150 10152 10154 10155 10168 10170 10173 10174 10176 10199 10210 10220 10240 10265 10270 10271 
    2   611     8     1     1     2    10     1     6     5     5     2     5     2     1     3     5     2 

正如你从上面的总结中看到的,有些因素只有几个 obs,我想删除那些少于 100 的因素。

我尝试了以下方法,但没有成功:

for (n in unique((data$factor))) {
    m<-subset(data, factor==n)
    o<-length(m[,1])
    data<-ifelse( o<100, subset(data, factor!=n), data)
}

table、子集,并根据该子集的名称进行匹配。可能会想要droplevels此后。


EIDT

一些示例数据:

set.seed(1234)
data <- data.frame(factor = factor(sample(10000:12999, 1000000, 
  TRUE, prob=rexp(3000))))

有一些类别,案例很少

> min(table(data$factor))
[1] 1

从案例中删除少于 100 条具有相同值的记录factor.

tbl <- table(data$factor)
data <- droplevels(data[data$factor %in% names(tbl)[tbl >= 100],,drop=FALSE])

Check:

> min(table(data$factor))
[1] 100

注意data and factor不是很好的名字,因为它们也是内置函数。

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

基于因子变量中观测值数量的子集化 的相关文章

  • 在ggplotly散点图中添加自定义数据标签

    我想显示Species对于每个数据点 当光标位于该点上方而不是 x 和 y 值时 我用iris数据集 另外 我希望能够单击数据点以使标签持久存在 并且当我在图中选择新位置时标签不会消失 如果可能的话 最基本的是标签 持久性问题是一个优点 这
  • Shiny可以识别用鼠标选择的文本(突出显示的文本)吗?

    我需要用户将文本片段分配给 Shiny 中的类别或 代码 基本上 我希望用户突出显示输出中的文本 在下面的示例中 来自table or text输出 然后按一个按钮 code 并将选定的文本分配给应用程序内的对象 在下面的应用程序中 所选文
  • warnings() 在函数内不起作用?如何解决这个问题?

    op lt options warn 0 although doesn t work for any value of warn assign last warning NULL envir baseenv thisDoesntWork l
  • 在 R 中将时间间隔数据扩展为天数

    假设我有如下所示的数据 interval id indiv id role start date end date 1 1 A 2006 05 01 2006 06 16 2 1 B 2006 06 16 2006 10 16 3 1 A
  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • 回归时如何设置系数值;右

    我正在寻找一种指定预测变量值的方法 当我使用当前数据运行 glm 时 其中一个变量的系数接近 1 我想将其设置为 0 8 我知道这会给我一个较低的 R 2 值 但我先验地知道模型的预测能力会更大 glm 的权重组件看起来很有希望 但我还没有
  • 访问 R 工作区中的数据[重复]

    这个问题在这里已经有答案了 我是自学 R 的 可能有一些非常基本的东西我可能不熟悉 如果是这样我道歉 我正在尝试访问外部来源提供给我的数据 它作为一个工作空间出现 我的流程如下 gt ls 1 2003OHT HR gt attach 20
  • rpart是自动剪枝吗?

    Is rpart自动修剪 生成的决策树rpart比具有自动修剪功能的 Oracle Data Mining 生成的级别要多得多 否 但拟合函数的默认值可能会 提前 停止分割 对于 早期 的某些定义 See rpart control对于您可
  • 将所有分号替换为空格 pt2

    我尝试对 2000 多行关键字的列表运行文本分析 但它们的列出方式如下 战略 管理风格 组织 所以当我使用 tm 删除标点符号时 它就变成了 组织的战略管理风格 我认为这在某种程度上破坏了我常用术语的分析 我尝试过使用 vector lt
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • 改进R中从google获取股票新闻数据的功能

    我已经编写了一个函数来从 Google 获取和解析给定股票代码的新闻数据 但我确信有一些方法可以改进它 对于初学者来说 我的函数返回一个 GMT 时区的对象 而不是用户当前的时区 如果传递的数字大于 299 它就会失败 可能是因为 goog
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • 根据 R 数据框中的名称对列进行平均

    我想知道是否有一种有效的方法来获取每组的平均值类似命名的列谁的名字结尾为 1S and 2S ex ex1S ex2S at time 1并取每组的平均值类似命名的列谁的名字结尾为 1C or 2C ex ex1C ex2C at time
  • RStudio 不会通过 rPython 调用加载所有 Python 模块

    我从 Bash 和 RStudio 中运行相同的脚本时出现一些意外行为 请考虑以下事项 我有一个文件夹 rpython 包含两个脚本 test1 R library rPython setwd rpython python load tes
  • zsh:未找到命令:使用 Big Sur Mac 的终端上的 R

    我从官方 cran 网站安装了 R 我可以从 Rstudio 运行 R 但是当我尝试从终端使用 R 时 我得到以下结果 base ege Eges MBP R zsh command not found R base ege Eges MB
  • R参考类问题

    我正在尝试在 R 中创建一个简单的参考类 这是我的代码 R 初学者 MyClass lt setRefClass MyClass fields list a numeric b numeric methods list initialize
  • 如何从数据框中删除少于 5 个观察值的个体 [重复]

    这个问题在这里已经有答案了 为了澄清这个问题 我将简要描述数据 中的每一行data frame是一个观察值 列代表与该观察值相关的变量 包括 观察到什么个体 观察时间 观察地点等 我想排除 过滤观察值少于 5 个的个体 换句话说 如果 in
  • 在 Lavaan 生长曲线模型中提取个体轨迹

    我已经使用 R 的 Lavaan 包中的 Growth 函数成功地对一项研究的纵向数据进行了建模 我找不到任何关于如何提取每个参与者的预测轨迹的记录 我只能找到整个组的预测轨迹 在摘要输出的 拦截 部分下给出 使用 lavPredict m
  • 通过 r markdown 中的循环创建代码片段

    如同如何使用R中的knitr创建一个包含代码块和文本的循环 https stackoverflow com questions 36373630 how to create a loop that includes both a code
  • R 中使用 `UseMethod()` 与 `inherits()` 来确定对象的类

    如果我需要根据 R 对象的类以不同的方式处理它们 我可以使用if and else在单个函数内 foo lt function x if inherits x list Foo the list else if inherits x num

随机推荐

  • Jackson @JsonProperty(required=true) 不会抛出异常

    我正在使用 jackson 2 2 注释 JsonProperty 并将 required 设置为 true 通过 ObjectMapper readValue 方法反序列化不包含该属性的 json 文件时 不会引发异常 它应该以不同的方式
  • 在 SQL Server 中执行列值[重复]

    这个问题在这里已经有答案了 我需要对 SQL 表中保存的值进行算术运算 例如 我在下一列中的值为 5 10 我想要 15 EQUATION VALUE 2 5 7 6 8 14 根据方程式我需要计算该值 正如您现在所知 SQL Server
  • 在运行时修改类定义的注释字符串参数

    想象一下有一个类 Something someProperty some value public class Foobar 它已经编译 我无法控制源代码 并且是 jvm 启动时类路径的一部分 我希望能够在运行时将 某些值 更改为其他值 这
  • 过程中表值参数中的标识列,如何定义 DataTable

    是否可以将类型为 table 的参数以及类型为 int IDENTITY 1 1 的列传递给过程 并使用作为输入参数传递的 DataTable 对象来执行此存储过程 我收到以下错误 插入表变量不允许的标识列 表值参数 xxxxx 的数据不符
  • 我们如何解释表达式 (++x)+(++x)+(++x) 的结果? [复制]

    这个问题在这里已经有答案了 x 1 std cout lt lt x x x 我期望输出是11 但实际上是12 Why 我们通过期待来解释它未定义的行为而不是任何特定的结果 由于表达式尝试多次修改 x 而无需干预序列点 its 行为未定义
  • 生成16位灰度BitmapData并保存到文件

    我试图在 C 中从随机数据生成 16 位灰度位图 但它在 Marshal Copy 上崩溃了 这是我的代码 Bitmap b16bpp private void GenerateDummy16bitImage b16bpp new Bitm
  • 从响应中提取图像数据:Angular 2

    响应具有图像数据 但我无法从响应中提取它 客户代码 download this http get http localhost 9000 download this fileid subscribe data gt this image d
  • Wpf 图像控制阻止文件

    我有一个简单的Window带按钮和第二个Window当我点击时打开Button 第二Window has a Image控件 显示 png 文件 所以如果我使用FileObject财产为Binding一切正常 我可以从中删除文件File E
  • Safari 开发工具 JS 控制台窗口中的 $1 和 $2 等是什么?

    当我在 Safari 上运行开发工具并在控制台窗口中使用 querySelector 时 我得到正确的值 然后是 1 和 2 等等 任何人都可以帮助理解它们的含义吗 Chrome 0 4 开发工具会记住您在选项卡 或 配置文件 面板 中选择
  • Ruby 中的 Google Apps API 和服务帐户出现问题

    我在获取用于实例化驱动器服务帐户的示例代码时遇到一些问题 我已按照指示在 API 控制台中设置了服务帐户 并包含了 https www googleapis com auth drive 但运行此命令会生成以下错误 授权失败 服务器消息 S
  • 我如何知道 ListBoxItem 是否是 Wpf 的 ListBox 中的最后一个项目?

    我怎么知道是否ListBoxItem是集合的最后一项 在ItemContainerStyle或在ItemContainer的模板 在 Wpf 内ListBox 这个问题是因为我需要知道某个项目是否是最后一个以其他方式显示的项目 例如 假设我
  • 抽象类的非静态方法和静态方法有什么区别?

    我知道在抽象类中使用静态方法不是最佳实践 但是如果我在抽象类中同时使用静态方法和非静态方法有什么区别 我假设调用这些方法没有区别 因为我们无法为抽象类创建实例 所以我们可以仅使用类名调用静态和非静态方法 除了关键字 Static 之外 它们
  • 在Pygame中沿光标方向绘制无限长度的线

    我正在寻找有关 pygame 的帮助 我正在用 Python 开发简单的游戏来学习 Pygame 我想制作一个可以旋转并且可以用激光线射击的宇宙飞船 我已经完成了方向键控制 我们也可以用鼠标位置旋转飞船 但是我在射击方面遇到了问题 我想从宇
  • data.table 时间子集与 xts 时间子集

    您好 我希望按时间对一些详细数据进行子集化 我通常使用xts做类似的事情 subset string lt T10 00 T13 00 xts min obj subset string 获取每天上午 10 点到下午 1 点 含 之间的所有
  • 如何在 R 中完成一个变量在其因子水平上的相关性(按日期匹配)

    我试图根据因子水平确定变量的不同子集 浓度 如下 之间的相关性 在本例中 Lake A B C 换句话说 测试 A 处浓度测量值之间的相关性对照 B 处的浓度测量 然后 B 对照 C A 对照 C 问题是基于因子的子集具有不同的长度 但我只
  • PHP headers_list() 未显示所有标头

    根据文档 http php net manual en function headers list php 以及这条评论 http php net manual en function headers list php 110330 php
  • 在 ng-repeat 的每次迭代中执行脚本/函数

    我在这样的元素上使用 ng repeat div style width 1px height 1px aSize div
  • 关于双循环的简单Python代码

    我在 Spyder IDE 上测试了以下 python 代码 认为它会输出二维数组q数量不断增加 从 0 31q 0 0 to q 3 7 但它实际上返回 q 为 24 25 26 27 28 29 30 31 24 25 26 27 28
  • LINQ 查询重用和延迟执行

    我的印象是我可以创建一个 LINQ 查询 然后在更改涉及的参数时重用它 但似乎你无法更改源集合 有人能给我一个很好的解释为什么吗 因为我显然误解了一些基本的东西 这是一些示例代码 var source Enumerable Range 1
  • 基于因子变量中观测值数量的子集化

    如何根据因子变量水平的观察次数进行子集化 我有一个包含 1 000 000 行和近 3000 个级别的数据集 我想用少于 200 个观察值对级别进行子集化 data lt read csv Dropbox Shared data csv s