2015-02-23 5 views
2

Я пытаюсь создать список или df, который содержит для всех факторов в кадре данных количество уровней фактора.Вывести количество уровней всех факторов в dataframe

Таким образом, оказывается, что я должен сначала определить факторы (с помощью is.factor()), а затем подсчитать количество уровней для каждого (с использованием length())

Я использую sapply, но не может получить то, что я ищу для.

Любая помощь будет оценена по достоинству.

Вот что я сделал до сих пор:

fac <- sapply(cf_nm, function(x) is.factor(x) ) 
fac <- cf_nm[fac] 

И я мог бы просто рассчитывать уровни здесь - но я надеялся на более красноречивый способ делать то, что я хотел.

+0

Просьба указать пример кода, который вы использовали – StrikeR

+0

Когда вы пишете «длину фактора», вы на самом деле имеете в виду количество уровней факторов? – Roland

+0

@ Roland да, я. – gh0strider18

ответ

7

Я считаю, что вы ищете nlevels не length для количества уровней.

Это быстрое решение.

sapply(df1[,sapply(df1, is.factor)], nlevels) 
+0

Вот оно. Принят как можно скорее. – gh0strider18

Смежные вопросы