从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。对不起,如果这看起来很愚蠢,我只是想找到合适的数据。习惯用语。
答案 0 :(得分:2)
你的第一个例子对我来说似乎是合理的,我不认为你可以在data.table的括号内进行,因为返回类型应该是一个列表。
另一个选项是Filter(Negate(is.null),lapply(DT,levels))
,它的另一个好处就是不需要事先知道哪些列是因素