gpt4 book ai didi

r - R中的data.table和base - `|`的含义

转载 作者:行者123 更新时间:2023-12-04 04:13:17 24 4
gpt4 key购买 nike

我在 R 中遇到了一个我很难理解的命令,也许有人可以启发我?

sample[, AGG := Reduce(`+`, .SD), .SDcols = agg]
sample[, AGG_NEW := AGG]
subset = seq_len(nrow(sample))
sample[subset, val := (AGG_NEW >= (value) - 1)) | val ]

到目前为止我的解释是这样的:

从 data.table sample 中,获取所有行 subset(已定义),在这些行中改变列 val 然后我我不确定发生了什么....

| 有什么作用?

最佳答案

在第一行,

library(data.table)
sample[, AGG := Reduce(`+`, .SD), .SDcols = agg]

我们在 .SDcols 中指定感兴趣的列,即 agg(也许它是一个包含多个列的对象名称),

然后使用Reduce 获取Data.table (.SD) 的子集的行向总和(+)。

在第二步中,复制“AGG”列以创建“AGG_NEW”,

sample[, AGG_NEW := AGG]

然后我们传递一个索引,即 i 中的行序列(不确定这里为什么需要它),然后创建“val”作为逻辑向量

即使没有“子集”,代码也应该可以工作,因为显示的“子集”是原始数据集的完整行序列

sample[,  val := (AGG_NEW >= (value) - 1)) | val ]

| 表示 OR 运算符,即满足 lhs 或 rhs 条件,则返回 TRUE 否则为

关于r - R中的data.table和base - `|`的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61262372/

24 4 0