如何在熔化data.table时指定空id.vars向量?

如何在熔化data.table时指定空id.vars向量?,r,data.table,melt,R,Data.table,Melt,我希望在不包含任何ID列的情况下融化data.table dt <- data.table::data.table(iris)[1:10] data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width')) 但我会认为这应该是可能的融化调用本身?我试过下面的方法,但没有成功 data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width'), id.var

我希望在不包含任何ID列的情况下融化data.table

dt <- data.table::data.table(iris)[1:10]
data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width'))
但我会认为这应该是可能的融化调用本身?我试过下面的方法,但没有成功

data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width'), id.vars=NULL)
data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width'), id.vars=c())
data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width'), id.vars=list())
从文件中:

如果id.vars和measure.vars都丢失,则所有 非数字/整数/逻辑列被指定为id变量和 其余部分作为度量变量。如果只有一个id.vars或measure.vars 提供时,其余列将被指定给另一列。 id.vars和measure.vars可以多次使用同一列 同一列可以同时作为id和度量变量

melt.data.table还接受id和度量值的列表列 变量

c()
NULL
是相同的(例如
相同(c(),NULL)==TRUE
),并且
NULL
是在缺少
id.vars
时内部分配给它的值

但是,空整数或字符向量可以实现以下功能:

data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width'), id.vars=integer())
data.table::melt(dt, measure.vars=c('Petal.Length', 'Petal.Width'), id.vars=character())

或者,您可以在
melt
之前对列进行子集设置:

melt(dt[, c('Petal.Length', 'Petal.Width')], measure.vars=c('Petal.Length', 'Petal.Width'))
melt(dt[, c('Petal.Length', 'Petal.Width')], measure.vars=c('Petal.Length', 'Petal.Width'))