data.table相关内容

R - readRDS() &load() 无法提供与原始数据相同的 data.tables

背景 我尝试将一些 CSV 输出文件替换为 rds 文件以提高效率.这些是中间文件,将作为其他 R 脚本的输入. 问题 当我的脚本失败时我开始调查,发现 readRDS() 和 load() 不会返回与原始相同的 data tables.这应该发生吗?还是我错过了什么? 示例代码 库(data.table)aDT 我在 Linux Mint 上运行 R 版本 3.2. ..
发布时间:2022-01-24 19:01:17 其他开发

如何检查向量是否为 LIFO/FIFO 递减

假设我有一个 data.table,其中每一行包含两个向量: “预减法"向量. “减法后"向量. 前减法是最左半列,后减法是最右列,末尾有后缀“prm". 例如: #样本数据set.seed(2)填充 = 数据表(n=1:7)Tp=3for(t in 1:Tp){设置(x = 填充,j = paste0('v',t),值 = 样本(0:10,7))}填充[1,paste0(' ..
发布时间:2022-01-22 13:02:44 其他开发

追加多个大data.table;使用 colClasses 和 fread 的自定义数据强制;命名管道

[这是一篇文章中的多个错误报告/功能请求,但它们不一定是孤立的.提前为怪物帖子道歉.按照帮助(data.table)的建议在此处发布.另外,我是 R 新手;如果我没有在下面的代码中遵循最佳实践,请道歉.我在努力.] 1.rbindlist 在 6 * 8GB 文件上崩溃(我有 128GB RAM) 首先我想报告使用 rbindlist 附加大型 data.tables 会导致 R 出现 ..
发布时间:2022-01-22 11:43:20 其他开发

要删除重复的行,除非列中存在 NA 值

我有一个包含 4 列的数据表:ID、名称、Rate1、Rate2. 我想删除 ID、Rate1 和 Rate 2 相同的重复项,但如果它们都是 NA,我想保留这两行. 基本上,我想有条件地删除重复项,但前提是条件!= NA. 例如,我想要这样: ID 名称 Rate1 Rate21 XYZ 1 21 美国广播公司 1 22 定义 NA NA2 Lmn NA NA3 喂 3 53 ..
发布时间:2022-01-21 00:07:19 其他开发

根据滚动日期内存在的条件创建新列

为了使这个问题更笼统,我相信它也可以改写为:创建一个滚动的时间敏感因子变量.虽然这是一个不常见的要求,但这可以用于许多不同的数据源. 我有一系列非统一时间数据,每天有 > 1 条记录,供成千上万的用户使用.我想创建一个新列 player_type 来跟踪他们行为的滚动 30 天定义.行为由他们玩的游戏定义;'games' 列是 gameA、gameB 的一个因子. 因此存在三种类型的行 ..
发布时间:2022-01-20 23:49:12 其他开发

R foreach 与 .combine=rbindlist

我正在使用带有 .combine = rbindlist 的 foreach.这似乎不起作用,尽管如果我使用 .combine = rbind 可以正常工作. 只是用一个简单的例子来说明-- >t2 有人能做到吗? 提前致谢. 解决方案 基本上就是你所说的 - rbindlist 假定一个 list 参数,并且你得到的错误和这个一样: result.1 = data.t ..
发布时间:2022-01-13 19:43:12 其他开发

在 R 中拆分应用重组、plyr、data.table

我在 R 中做经典的拆分-应用-重组事情.随着时间的推移,我的数据集是一堆公司.我正在做的应用是对每个公司进行回归并返回残差,因此,我没有按公司汇总.plyr 对此非常有用,但是当公司数量很大时,它需要很长时间才能运行.有没有办法用 data.table 做到这一点? 样本数据: dte, id, val1, val22001-10-02, 1, 10, 252001-10-03, 1, ..
发布时间:2022-01-13 19:42:54 其他开发

稀疏数据帧直接更新(替换)速度慢,效率低

我正在尝试读取数十万个 JSON 文件,并最终将它们放入 dplyr 对象中.但是 JSON 文件不是简单的键值解析,它们需要大量的预处理.预处理是编码的,并且对效率有很好的作用.但我面临的挑战是将每条记录有效地加载到单个对象(data.table 或 dplyr 对象)中. 这是非常稀疏的数据,我将有 2000 多个变量,这些变量大部分都将丢失.每条记录可能有一百个变量集.变量将是字符、逻 ..
发布时间:2022-01-13 19:42:48 其他开发

如何在 data.table 中通过引用更改每组中的最后一个值

对于按站点分组,按时间t排序的data.table DT,我需要更改每个组中变量的最后一个值.我认为应该可以通过引用使用 := 来做到这一点,但我还没有找到一种可行的方法. 样本数据: require(data.table) # 使用 1.8.11DT 想要的结果是改变每组中a的最后一个值,例如改为999,所以结果如下: #site t a# 1:A 1 11#2:A 2 12#3: ..
发布时间:2022-01-13 19:42:19 其他开发

如何在 data.table 中进行否定/不匹配/反向搜索?

如果我想使用二进制搜索选择 data.table 中不包含键变量中特定值的所有行,会发生什么情况?顺便说一句,我想做的正确术语是什么?是“不加入"吗?是“负选择"吗? DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)设置键(DT,x) 让我们对 x=="a" 但使用二分搜索的所有行进行肯定选择 DT["a"] ..
发布时间:2022-01-13 19:42:00 其他开发

dplyr:在 group_by 中生成行号/行位置

我有一个数据集,我想按组生成行位置.例如 库(data.table)数据 我按类别分组,并希望按组创建作为行位置的列.类似下面或 data.table 的东西 dataByGroup %>% group_by(Category) %>% mutate(positionInCategory = 1:nrow(Category)) 无法弄清楚如何实现这一目标? 期望的输出: |当前位置 ..
发布时间:2022-01-13 19:41:51 其他开发

如何在 R 中的 data.table 中按两个条件选择行

假设我有一个 data.table,我想选择变量 x 的值为 b 的所有行.这很容易 库(data.table)DT 顺便说一句,似乎必须设置一个键,如果该键未设置为 x 则这不起作用.顺便说一句,如果我将两列设置为键会发生什么? 无论如何,继续前进,假设我想选择变量 x 为 a 或 b 的所有行 DT["b"|"a"] 没用 但以下工作 DT[x=="a"|x=="b"] ..
发布时间:2022-01-13 19:41:43 其他开发

我应该使用 mget()、.. 还是 with=FALSE 来选择 data.table 的列?

通过使用包含所需列名的变量(with=FALSE, .., mget, ...). 是否有共识(何时)使用?data.table-y 比其他的多一个吗? 我可以提出以下论点: with=FALSE 和 .. 几乎同样快,而 mget 较慢 .. 不能“即时"选择连接的列名(EDIT:当前 CRAN 版本 1.12.8 绝对可以,我用的是旧版本,不能,所以这个说法是有缺陷的) ..
发布时间:2022-01-13 19:41:23 其他开发

组合 data.tables 列表

有没有一种特定的方法可以在 R 中组合 data.tables 列表? 我有一个大约 20 个 data.table 的列表,每个都有大约 100 万行,我想将它们组合成一个有 2000 万行的 data.table. 我一直在这样做 Reduce('rbind', data.table) 但这需要一段时间. Tnx! 解决方案 查看 ?rbindlist 和这些相关 ..
发布时间:2022-01-13 19:41:05 其他开发