我正在尝试创建一个列表或df,其中包含数据帧中所有因素的因子级别数。
所以,看来我需要首先确定因素(使用is.factor()
),然后计算每个因素的级别数(使用length()
)
我使用的是sapply
,但无法获得我想要的内容。
任何帮助都将不胜感激。
这是我到目前为止所做的:
fac <- sapply(cf_nm, function(x) is.factor(x) )
fac <- cf_nm[fac]
我可以简单地计算一下这里的水平 - 但我希望有一种更有说服力的方式来做我想做的事。
答案 0 :(得分:10)
我相信您正在寻找nlevels
而不是length
的等级数。
这是一个快速解决方案。
sapply(df1[,sapply(df1, is.factor)], nlevels)