r - 通过组变量有效地扩展 data.table 中的网格
问题描述
我想从data.table
. 创建扩展网格的向量由分组变量定义。
这将是我的示例数据集:
library(data.table)
dt_sample <-
data.table(group = c(rep("a", 4L), "b", "d"), value = LETTERS[1:6])
# example table
print(dt_sample)
#> group value
#> 1: a A
#> 2: a B
#> 3: a C
#> 4: a D
#> 5: b E
#> 6: d F
我想要实现的是以下内容:
## I would like an automatic if possible one step approach for this
a <- dt_sample[group == "a", value]
b <- dt_sample[group == "b", value]
d <- dt_sample[group == "d", value]
final_result <- CJ(a, b, d, unique = TRUE)
# expanded grid
print(final_result)
#> a b d
#> 1: A E F
#> 2: B E F
#> 3: C E F
#> 4: D E F
由reprex 包(v0.3.0)于 2020 年 1 月 13 日创建
我已经想到了几种方法来做先验,使用dcast
或for
循环。但是,我感觉它可以在data.table
. 欢迎任何建议。
解决方案
推荐阅读
- java - 数组作为局部变量 - 不要遵循 Lambda 中的明确赋值规则
- python - 基于另一个列表视图的单击按钮的 Kivy 提要列表视图
- java - 在 ubuntu 终端上运行时找不到或加载主类 org.testng.TestNG
- mysql - 对于超过 4000 万行的表大小,如何在 MySQL 中的 ENUM 类型列中添加更多成员?
- android - 发布 React-Native Android 应用程序:找不到 com.android.support:multidex-instrumentation:27.1.1
- javascript - 有没有办法从外部链接打开引导模式对话框,比如另一个网站?
- php - drupal_realpath 有时不返回正确的路径
- spring - 客户端发送的请求在语法上不正确 HTTP 状态 400 - 类型
- highcharts - highcharts 中的标志错位了
- laravel-5 - Laravel 5.2 自定义验证器没有给出错误