从data.table中提取级别

时间:2015-11-12 00:44:05

标签: r data.table

从data.table中提取级别,是以Private Declare PtrSafe Function InternetGetConnectedState _ Lib "wininet.dll" (ByRef dwflags As Long, _ ByVal dwReserved As Long) As Long 作为列表进行提供的标准方法,还是以某种方式在括号内进行?

例如,使用data.table内置数据,我知道前4列是因子,我想提取级别。

npk

这就是我想要的,一个级别列表

dat <- as.data.table(npk)

但是,我是否错过了levs <- lapply(dat[,1:4,with=FALSE], levels) 这样的方式? (这不是正确的,因为它重复了与最长的匹配的水平)。

data.table

PS。对不起,如果这看起来很愚蠢,我只是想找到合适的数据。习惯用语。

1 个答案:

答案 0 :(得分:2)

你的第一个例子对我来说似乎是合理的,我不认为你可以在data.table的括号内进行,因为返回类型应该是一个列表。

另一个选项是Filter(Negate(is.null),lapply(DT,levels)),它的另一个好处就是不需要事先知道哪些列是因素