R - 创建具有级别的列表

时间:2016-07-20 12:17:07

标签: r categorical-data

我有一个包含大量分类变量的数据框。我需要创建一个列表,我会得到类似于str(DF)的输出,但不会截断

示例:

 Df <- data.frame(
   x = as.factor(sample(1:5,30,r=T)),
   y = as.factor(sample(1:5,30,r=T)),
   z = as.factor(sample(1:5,30,r=T)),
   w = as.factor(sample(1:5,30,r=T))
)
str(Df)

产生如下输出:

x: Factor w/ 5 levels "1","2","3","4",..:

但这对我来说是不够的,因为我需要所有级别,因为我在数据帧中有大量变量,所以我也得到了#34; [list output truncated]:message ...

理想的是获得每个变量的等级(Df $ x)。 我希望这段代码可以工作:

attach(Df)
idnames <- names(Df)
levellist <- lapply(idnames, function(x) levels(x))
##

但它为所有变量返回NULL ..

1 个答案:

答案 0 :(得分:1)

levels适用于因素,因此请在Df上使用,这是一系列因素。

levellist <- lapply(Df, function(x) levels(x))