data.table相关内容

R:data.table 计数 !NA 每行

我正在尝试计算每行不包含 NA 的列数,并将该值放入该行的新列中. 示例数据: 库(data.table)a = c(1,2,3,4,NA)b = c(6,NA,8,9,10)c = c(11,12,NA,14,15)d = data.table(a,b,c)>da b c1:1 6 112:2 不适用 123: 3 8 不适用4:4 9 145:不适用 10 15 我想要的输出将包括一 ..
发布时间:2022-01-13 19:25:21 其他开发

R:按组在 data.table 列中查找第一个非 NA 观察值

我有一个 data.table 有很多缺失值,我想要一个变量,它为每组中的第一个非缺失值提供 1. 假设我有这样一个data.table: 库(data.table)DT 现在在开头、结尾和中间都有缺失.我试过两个版本,一个是: DT[min(which(!is.na(Petal.Width))),first_available:=1,by=Species] 但它只找到全局最小值( ..
发布时间:2022-01-13 19:25:04 其他开发

将集合操作从 R 的数据帧移植到数据表:如何识别重复行?

[更新 1:正如 Matthew Dowle 所指出的,我在 R-Forge 上使用的是 data.table 版本 1.6.7,而不是 CRAN.您不会看到与早期版本的 data.table 相同的行为.] 作为背景:我正在移植一些小实用程序函数来对数据框的行或数据框对(即每一行是集合中的一个元素)进行集合操作,例如unique - 从列表、联合、交集、集合差异等创建集合.这些模仿 Mat ..
发布时间:2022-01-13 19:24:57 其他开发

在 data.table 中使用带有 .SD 和 .SDcols 的平均值

我正在编写一个非常简单的函数来汇总 data.tables 的列.我一次将一列传递给函数,然后进行一些诊断以找出汇总选项,然后进行汇总.我在 data.table 中这样做是为了允许一些非常大的数据集. 所以,我使用 .SDcols 传入列进行汇总,并在 j 部分的 .SD 上使用函数一个 data.table 表达式.由于我一次只传递一列,因此我没有使用 lapply.我发现有些功能有效, ..
发布时间:2022-01-13 19:24:46 其他开发

通过 knitr、gWidgetsWWW 使用时出现 data.table 错误

我正在试验 gWidgetsWWW 并遇到了一个奇怪的错误.我创建了一个带有处理程序的按钮来 knit2html 使用 data.table 赋值运算符“:="的报告.报告返回此错误: 错误::= 被定义为仅在 j 中使用,并且(当前)仅使用一次;IE.,DT[i,col:=1L] 和 DT[,newcol:=sum(colB),by=colA] 可以,但不行DT[i,col]:=1L,不是 ..
发布时间:2022-01-13 19:24:28 其他开发

使用二分搜索按范围对 data.table 进行子集化

如何通过数字范围对 data.table 进行子集化,以使用二分搜索? 例如: require(data.table)set.seed(1)x5 & y 上面没有使用键(矢量扫描),并且加速不是那么显着.使用二进制搜索对 data.table 的数字范围进行子集化的语法是什么?我在文档中找不到一个很好的例子;如果有人可以使用上面的玩具 data.table 提供示例,那将会很有帮助. ..
发布时间:2022-01-13 19:24:12 其他开发

相差至少 30 分钟时间的子集观测

我有一个 data.table(约 3000 万行),由 POSIXct 格式的 datetime 列和一个 id 组成 列和其他一些列(在示例中,我只留下了一个不相关的列 x 来证明还有其他列需要保留).dput 在帖子的底部. head(DT)# 日期时间 x id#1:2016-04-28 16:20:18 0.02461368 1#2:2016-04-28 16:41:34 0.8895 ..
发布时间:2022-01-13 19:24:06 其他开发

如何计算 R 中 data.table 中的出现组合

我有两个 data.tables.我想计算与另一个表中的表组合匹配的行数.我检查了 data.table 文档,但没有找到答案.我正在使用 data.table 1.9.2. DT1 现在我想计算 DT2 中 (3, 8) 对和 (2, 3) 对的数量. setkey(DT2, w, x)nrow(DT2[J(3, 8), nomatch=0])# [1] 3 ## 好!nrow(DT2[ ..
发布时间:2022-01-13 19:23:58 其他开发

使用字符串访问 data.table 列

对于一个很明显我通常在 Python/pandas 中工作的问题,我深表歉意,但我一直坚持这一点.如何使用字符串选择 data.table 列? dt$"字符串"dt$as.name("字符串")dt$get("字符串") 我确信这非常简单,但我不明白.非常感谢任何帮助! ------------- 已编辑添加 ---------- 在下面的一些有用的评论和提示之后,我想我已经缩小 ..
发布时间:2022-01-13 19:23:49 其他开发

在“by"中使用因子列并且不要丢弃空因子

假设我有一个 data.table: x 我想知道 x 中每个 group 有多少行: x[, .N, by="group"]# 第 N 组# 1: 一个 2# 2: b 1 问题:有没有办法强制上述by="group"考虑因素group的所有层次? 请注意,由于我在表中没有任何带有 group 'c' 的行,因此我没有得到 c 的行. 期望的输出: x[, .N, by= ..
发布时间:2022-01-13 19:23:26 其他开发

聚合 data.table 中的多个列

我有以下示例 data.table: dtb 例如,我想使用 colSums 按 id 聚合所有列(a 和 b,尽管它们应该分开).这样做的正确方法是什么?以下方法不起作用: dtb[,colSums, by="id"] 这只是一个示例,我的表有很多列,所以我想避免在函数名中指定所有列 解决方案 这实际上是我一直在寻找的,并且在常见问题解答中提到: dtb[,lapply(. ..
发布时间:2022-01-13 19:23:18 其他开发

仅在添加数字时将 NA 视为零

计算两个数据表之和时,NA+n=NA. >dt1 我不想用 0 替换所有 NA.我想要的是 NA+NA=NA 和 NA+n=n 以获得以下结果: 名称 1 21:乔 0 52:安 NA 3 这是如何在 R 中完成的? 更新:删除了 dt1 中的错字 解决方案 你可以定义你自己的函数来做你想做的事情 加 ..
发布时间:2022-01-13 19:22:46 其他开发