如何使用 R 的 data.table 包对键值的否定进行子集化?

2023-12-03

R's data.table包提供基于键的值的快速子集化。

因此,例如:

set.seed(1342)

df1 <- data.table(group = gl(10, 10, labels = letters[1:10]),
                  value = sample(1:100))
setkey(df1, group)

df1["a"]

将返回 df1 中 group == "a" 的所有行。

如果我想要所有行怎么办df1 where group != "a"。是否有一个简洁的语法使用data.table?


我想你回答了你自己的问题:

> nrow(df1[group != "a"])
[1] 90
> table(df1[group != "a", group])

 a  b  c  d  e  f  g  h  i  j 
 0 10 10 10 10 10 10 10 10 10 

对我来说似乎很简洁?

马修编辑:根据评论,这是矢量扫描。有一个不加入成语 here and here, and 功能请求#1384让事情变得更容易。

EDIT: 功能请求#1384在data.table 1.8.3中实现

df1[!'a']

# and to avoid the character-to-factor coercion warning in this example (where
# the key column happens to be a factor) :
df1[!J(factor('a'))]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 R 的 data.table 包对键值的否定进行子集化? 的相关文章

随机推荐

  • 如何将每个换行符转换/替换为“
    ”?

    set tabstop 4 set shiftwidth 4 set nu set ai syntax on filetype plugin indent on 我试过这个 content gsub r n br 但是当我单击视图 显示按钮
  • 将日期字符串转换为不同的格式

    我有一个包含格式为日期的字符串YYYY MM DD 您建议我如何将其转换为格式DD MM YYYY以最好的方式 这就是我天真的做法 import java util public class test public static void
  • 在 grid.arrange 中保留或设置文本标签与绘图大小之间的比例

    我正在尝试安排使用创建的 2 个图ggplot2并希望这些图的大小为正方形 并且一个挨着另一个 旁边有共同的图例 以便图像非常适合纵向风格的页面 问题是当我使用grid arrange为了安排格罗布 标签和图例变得很小 而情节空间却很大 g
  • JFormattedTextField 格式化百分比数字?

    我想使用 JFormattedTextField 将浮点数格式化为百分比值 允许输入 0 到 100 转换为 0 0f 1 0f 始终显示百分号并不允许任何无效字符 现在我已经尝试了一些 NumberFormat getPercentIns
  • boost::asio::read 函数挂起

    如果有人可以帮助我 我无法理解 boost asio read 函数在 boost asio 中的工作原理 在 boost 的示例中 他们在接收消息之前声明缓冲区大小 这是没有意义的 我如何知道在读取消息之前要读取多少字节 我尝试了这段代码
  • CrawlSpider 与 Splash

    我的蜘蛛有一些问题 我使用 scrapy 的splash 来获取由JavaScript 生成的 下一页 的链接 从第一页下载信息后 我想从以下页面下载信息 但 LinkExtractor 功能无法正常工作 但看起来 start reques
  • 从 C# 中的枚举中获取 int 值

    我有一堂课叫Questions 复数 在这个类中有一个枚举叫做Question 单数 看起来像这样 public enum Question Role 2 ProjectFunding 3 TotalEmployee 4 NumberOfS
  • Python 3.+ 中另一个交替大小写的字符串

    我对 Python 很陌生 正在尝试了解如何操作字符串 我想要做的是通过删除空格并将大小写从上到下交替来更改字符串 即 这比我想象的要难 到 ThIsIsHaRdErThAnItHoUgHtItWoUlDbE 我拼凑了一个代码来删除空格 大
  • 使用 3 个纬度和经度点以及 3 个距离进行三边测量

    存在未知的目标位置 纬度和经度坐标 我有 3 个纬度和经度坐标对 每对坐标到目标位置的距离 以公里为单位 如何计算目标位置的坐标 例如 假设我有以下数据点 37 418436 121 963477 0 265710701754km 37 4
  • 按钮 Onclick 在表单内不起作用

    Good Day 我正在使用 ASP NET Web 表单 其中我将以下按钮包装在表单标签内
  • 防止 jQueryUI 可排序中的重复项

    小提琴示例 我试图防止重复的项目被拖入 sort2 from sort通过使用条件来检查是否存在基于标题属性的相同项目 sort2 如果有重复的 它会在添加新的之前删除旧的 sort2 sortable receive function e
  • 为什么使用 REST @Produces 注解

    所以我知道您正在指定类型 但为什么呢 在什么条件下这很重要 例如 如果我有以下方法 并且我注释掉了 Produces 注释 它仍然返回 JSON GET Path json Produces MediaType APPLICATION JS
  • C# 中词法分析器的示例

    我想使用一些内置的词法分析器和解析器 我需要一些示例或样本来演示其用法 有人用过 C 中的词法分析器吗 任何人都可以分享示例和代码如何使用它 我没有找到很多 ANTLR 和 lex 但我找不到任何示例或教程 请告诉我是否有人使用过此类东西
  • 无法从 Firebase 控制台发送通知

    This是一些firebase教程 我正在 Firebase 中注册应用程序 获取 google services json 文件 将其粘贴到应用程序文件中 如教程中所示 还获得了令牌 但是当我尝试从控制台发送通知时 状态失败 我猜是 Mi
  • 四舍五入到给定基数的最接近的整数次方

    我正在尝试将一个数字四舍五入到另一个数字的下一个最小幂 我并不特别注意它的旋转方向 但如果可能的话 我更喜欢向下 号码x我四舍五入将满足 x gt 0 并且通常适合在范围内0 lt x lt 1 只有极少数情况下才会高于 1 更一般地说 我
  • Spring 3.0 惰性初始化不支持 DefaultMessageListenerContainer?

    我已经为 JMS 设置了 spring 配置 一切工作正常 除了我似乎无法将其延迟加载 请注意下面代码中的 default lazy init true 如果我从下面的配置中注释掉 jmsContainer DMLC 延迟加载将按预期工作
  • 理解字典

    我需要使用多个哈希表 所以在c 我通常会使用std unordered map 到目前为止我可以理解我可以在Python中使用字典 所以让我们假设以下代码 my dict 1 my dict 1 foo 1 my dict 2 my dic
  • 具有泛型参数类型的函数

    我试图弄清楚如何定义一个适用于多种类型参数 例如 int 和 int64 的函数 据我了解 函数重载在 F 中是不可能的 当然编译器会抱怨 以下面的函数为例 let sqrt int function n int gt int sqrt f
  • 如何使用第一个映射中的键和合并的值将两个映射合并为一个映射?

    如何从两个地图地图创建一个新地图 以便生成的地图仅包含键相同的匹配项并合并内部地图 Iterable Map String Map String Float Example val map1 Iterable Map 1 gt Map ke
  • 如何使用 R 的 data.table 包对键值的否定进行子集化?

    R s data table包提供基于键的值的快速子集化 因此 例如 set seed 1342 df1 lt data table group gl 10 10 labels letters 1 10 value sample 1 100