
[英]More efficient saveRDS(object = rbind(readRDS(fin_out), dat), file = fin_out)?
在 R 中,是否有更有效的方法来导入数据框的 RDS,append 现有数据框,然后将其写入相同的 RDS 比 其中fin_out是 RDS 文件名的字符串, dat是到 append 的数据帧? 此代码有效,但会消耗大量 RAM 并且速度很慢。 ...
[英]More efficient saveRDS(object = rbind(readRDS(fin_out), dat), file = fin_out)?
在 R 中,是否有更有效的方法来导入数据框的 RDS,append 现有数据框,然后将其写入相同的 RDS 比 其中fin_out是 RDS 文件名的字符串, dat是到 append 的数据帧? 此代码有效,但会消耗大量 RAM 并且速度很慢。 ...
[英]How to use data.table fifelse with vectors in the arguments?
说我有这个 data.frame 这些列是互斥的。 我需要生成 output 我试过用 data.table fifelse 来解决它,但它 它似乎不接受 arguments 上的矢量。 dplyr 的 if_else 在这里效果很好。 如何获得与 data.table 相同的 output? ...
[英]Creating unique id if the difference between dates is more than 7 in R
我想对每一行进行 go,如果当前行与上一行之间的差异大于 7,那么我想为当前行分配一个唯一的 id,否则当前行和上一行将具有相同的ID。 请注意,邮政编码与唯一 ID 无关。 这是我的数据: 这是我想要的 output: 这是我所做的: 这是我得到的: ...
[英]How do I multiply grouped values inside a column of data.table and return the data.table only with the result rows
如何通过从另一列分组来乘以一列内的值。 假设我有: 我想将值的元素彼此相乘,但只将属于同一组的元素相乘,因此会返回。 我用cumprod试过 但随后返回dt=data.table(group=c(1,1,2,2), value=c(2,6,4,20))我不知道如何删除我不删除的行需要:那些具有 va ...
[英]Flagging the first row by group in data.table
在下面的 data.table 中,我想按每个组标记第一行。 以下是添加标志后的预期结果。 这是我尝试过的解决方案(速度很快),但没有按预期工作。 由于我要处理数百万行,因此性能是解决方案的关键。 我只在寻找 data.table 解决方案。 SO 上提供的其他解决方案对我的要求来说太慢了。 ...
[英]Replace the row values in one group with the value from a similar group if conditions on rows are met data.table R
我有一个 data.table,如下所示,按 ID 和类型分组。 如果第 i 期的样本量为零并且 i 不等于 1,我想用第 i -1 期和 ' mov' 来自 i 时期的一个相似组。 我所说的类似是指从 id + 1 或 id - 1 中获取 mov,类型相同且句点 = i。 相似 id 的选择并 ...
[英]How to save a csv as bzip2 in R, either within fwrite or after saving the csv using fwrite
我的代码使用write.csv以 bzip2 格式保存大量文件。 这是一个可重现的小例子: 我想加快代码。 我知道data.table::fwrite比write.csv ,但我不知道如何让fwrite保存到 csv.bzip2。 我乐观地尝试了下面的方法,但压缩似乎不起作用,例如,文件大小为 5. ...
[英]Conditional lag with dates in R - how to code skip to next date if dates are the same?
我坚持如何有条件地滞后同一 ID 组中的日期变量,但如果它与原始日期相同,则跳过下一个日期值并滞后一个日期值。 为了显示, 我不确定是否有一种优雅的方法可以做到这一点,或者我是否需要一个 for 循环? 非常感谢任何建议! ...
[英]Efficient and fast application of a function to 3D arrays in R
我有一个非常大的 3D 数组(比如 100 x 100 x 10),我想应用 function 进行成对比较。 我已经尝试了很多解决方案,使用 data.table、mapply 等。我可能天真地希望更快的加速,并且正在考虑只用 C++/Rcpp 来做这件事。 但在这样做之前,我想我会看看是否有人知 ...
[英]Extract columns using a character variable in both data frames and data tables
使用带有列名的变量选择列时,数据框和 data.tables 的行为不同。 是否有一个表达式适用于两种类型的数据结构? 我为什么要关心? 我有一些最初为数据框编写的用户定义函数,希望它们同时适用于数据框和表格。 这是一个例子。 制作一个数据框和一个data.table。 这是一个带有列名的向量。 它 ...
[英]Remove all rows from data.table if there is any infinite value
在下面的玩具示例中,我想删除所有具有Inf或Nan值的行。 在我实际data.table中,有更多的列。 要删除一个 go 中的所有行,我使用以下代码但出现错误 - 代码 - 错误 - 有人可以建议一种方法来删除一个 go 中 data.table 中具有任何 NaN 或 Inf 值的所有行吗? 我 ...
[英]Why indexing .SD with a number is faster than when the number is stored in a variable
我有一个 data.table,我想按组(客户 ID)汇总并查看他们的第一次支出与第二次支出、第三次支出等相比如何。 Select 例如第一行使用.SD[1] : 给出了一个非常快的结果(对于具有 500 万行以上的数据集,只需 1.94 秒)。 但是,如果我将索引号(此处为 1)放入一个变量(我 ...
[英]Create new columns by adding a sequence of months to a date column
我有日期列的数据: 我想添加一系列月份,从 1 到x到“X”列中的日期。 结果应该是一组新列,“X_1”、“X_2”、...“X_x”: 我尝试了几件没有用的事情,例如: 我想根据这个操作创建 15 列,所以我想避免for循环。 我的真实数据有 80K 行。 ...
[英]In base or data.table for R, use a function, evaluated on a column, to select rows?
给定一个 data.table DT ,其列为 Col1,select DT的行,其中Col1中的值x满足某些Col1表达式,例如f(x) == TRUE或另一个示例f(x) <= 4 ,然后执行更多操作 data.table操作。 例如,我尝试过类似的东西DT[f(Col1) == TRU ...
[英]Create counter of consecutive runs of a certain value and ignoring rows based on a condition
我有一个看起来像这样的数据集: 我需要创建一个新变量,为连续运行分配一个唯一值并在计数 == 0 时重新启动。此外,如果计数器以 0 开头并且接下来的两个连续行的值 <100,我希望计数器忽略那些两行并将它们视为 0。对于计数 >1000 的一行也是如此。 因此,如果 counts == ...
[英]How to append character vectors in a list variable of a data.table when aggregating by an id variable - R
我有一个很大的 data.table object,其中一个变量是字符向量列表。 我想通过唯一 ID 进行聚合,并在此过程中组合与该唯一 ID 的每一行关联的所有字符向量。 这是一个简单的可重复示例: 我已经尝试了aggregate function 和适应更具体的 data.table 符号。 ...
[英]count matches between two columns containing multiple elements in each row
我想计算 y 列中的名称与 x 列中的名称匹配的次数。 诀窍是每个单元格中有多个名称并且没有模式所以我不能简单地使用 str_count。 或在此处查看可重现的代码:dt <- data.frame(group = c('A', 'A', 'B', 'B'), names_X = c(' ...
[英]User-defined function that will rename a variable in a named column in R
我正在尝试编写一个 function,它将重命名 R 中 data.table 内多个列的变量。 我的 data.table 的结构类似于: 特点1 特征2 特点3 特征4 变量a 变量_c 变量b 变量a 变量b 变量a 变量a 变量_c 变量_c 变量b 变量_c 变量b 我正在尝试将所有变量重 ...
[英]Argument working outside function but fails inside function in R: object not found
我是 R 的新手。我正在尝试编写一个 function,它将按组对列向量执行计算并将结果作为新列绑定到 data.table。 我已经写了一个我最终会实现的简单版本,只测试一列值。 (最终会有几列值被评估,可能在函数内的循环中)。 一旦完成了多列值的所有计算,我将把数据缩减为不同的分组。 因为我 ...
[英]Updating categories with too few observations
请注意,此问题已在 r2evans 的回答后进行了编辑。 示例数据我有如下示例数据: 更新地层对于adapted_BMstratum中的每个变量,当每个变量A 、 B或C的观察值少于 2 个时,我想手动决定要做什么。 然而,这并没有给出预期的结果: 此外,它还会发出以下警告: 期望的结果注意:对于B ...