data.table 和 R 中的基数 - `|` 的含义
data.table and base in R - meaning of `|`
我在 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' 创建为逻辑向量
即使没有 'subset' 代码也应该可以工作,因为 'subset' 显示的是原始数据集行的完整序列
sample[, val := (AGG_NEW >= (value) - 1)) | val ]
|
表示 OR
运算符,即满足 lhs 或 rhs 条件,则为 returns TRUE
否则为 FALSE
我在 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' 创建为逻辑向量
即使没有 'subset' 代码也应该可以工作,因为 'subset' 显示的是原始数据集行的完整序列
sample[, val := (AGG_NEW >= (value) - 1)) | val ]
|
表示 OR
运算符,即满足 lhs 或 rhs 条件,则为 returns TRUE
否则为 FALSE