我有一个包含大量分类变量的数据框。我需要创建一个列表,我会得到类似于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 ..
答案 0 :(得分:1)
levels
适用于因素,因此请在Df
上使用,这是一系列因素。
levellist <- lapply(Df, function(x) levels(x))