试图在data.table中使用.SD

里卡多·费尔南德斯·坎波斯

我正在尝试使用.SD来对groupby进行分组,data.table以将函数应用于特定列。我将以虹膜数据集为例。

可以说,我想知道不同Sepal.Length物种有多少独特之处

library(data.table)
obj="Species"
as.data.table(iris)[,length(unique(Sepal.Length)),by=.SD,.SDcols=obj]

可以.SDcols作为对象提供,这一点很重要,因为我是通过编程方式进行操作的。我也想知道是否有可能使用data.table而不是聚合和/或xtabs解决方案。

感谢任何帮助。

阿克伦

我们可以直接传递'obj'by并获取'Sepal.Length'(lengthunique元素uniqueN

as.data.table(iris)[, .(uniqueLen = uniqueN(Sepal.Length)), by = obj]

如果我们想走这.SDcols条路

as.data.table(iris)[, .SD[, .(uniqueLen = uniqueN(.SD[[1]])), by = obj], 
            .SDcols = c(obj, "Sepal.Length")]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在data.table R中使用lapply .SD

在 data.table 中使用帶有 .SD 的其他列

在 R 中使用 do.call 和 .SD 在 data.table 中跨列应用函数

在R data.table中,使用.SD时在j中使用dot(。)和'c'有什么区别?

在 R 中使用 data.table,除了创建新变量之外,如何将整个 .SD 提供给 j?

.SD列上的data.table子集条件?

使用.SD的data.table中的列子集的累积总和

data.table:使用lapply和.SD创建多个列

在data.table R中的lapply(.SD,...)中保留列名

.SD在R中的data.table中代表什么

data.table | .SD在`...`参数中应用多个列

汇总data.table .SD,同时按.SDcols排序

R data.table:.SD名称不可分配

data.table SD使用NA填充返回每组要求的行数,而不是存在的行数

在data.table中将na.locf函数(zoo包)与.SD一起使用

如何使用data.table创建均值和sd列(基于多个条件)

在R的data.table中,如何将data.table的密钥保存到使用.SD引用的子集中?

data.table错误:使用get()时,在.SD重新排序列上套用。可能的解决方法?

使用.SD将函数应用于data.table中的多个变量时分配新变量

为什么data.table non-equi连接中的.SD偶尔会引发错误?

.SD的data.table操作:简洁地计算百分比变化

Data.Table:通过引用有条件地更新.SD中的值

data.table lapply .SD随着列数的增加而急剧降低

通过 data.table 中的变量列名访问 - 错误:“无法更改“.SD”的锁定绑定值

.SD in data.table join 引用 i 中的任意列列表

使用SD卡进行备份?

更改 R 中“outer”中使用的“dnorm”的“sd”?

ec2_sd是否可以在prometheus中使用blackbox?

在数据表中使用lapply()中的.SD列名