Суммируйте упорядоченный фактор - PullRequest
1 голос
/ 04 ноября 2010

У меня есть столбец в кадре данных, который содержит упорядоченный коэффициент.Я суммирую количество записей в столбце для каждого фактора путем объединения данных, а затем их преобразования.Все идет нормально.Но мне нужно включить факторы, для которых не существует строк, чтобы в суммированных данных были показаны все возможные факторы, а не только используемые.

Фрейм данных:

> str(instats)
'data.frame':   75 obs. of  5 variables:
$ incident     : Factor w/ 75 levels "INC000000503771",..: 1 2 3 4 5 6 7 8 9 10 ...
$ submit.date  :Class 'Date'  num [1:75] 14907 14907 14907 14907 14907 ...
$ resolved.date:Class 'Date'  num [1:75] 14910 14907 14910 14907 14907 ...
$ closed.date  :Class 'Date'  num [1:75] 14913 14910 14913 14910 14910 ...
$ status       : Ord.factor w/ 6 levels "Opened"<"Resolved Pending Customer Action"<..: 5 5 5 5 5 5 5 5 5 5 ...
> 

что я 'мы сделали до сих пор:

> df.melt <- melt(instats,id=c('status'),measure=c('incident'))
> cast(df.melt, status ~ .,length)

и я получаю:

                            status (all)
1 Resolved Pending Customer Action    11
2               Pending xxx Action     3
3               Pending yyy Action     7
4                           Closed    54

что я хочу:

                            status (all)
1                           Opened     0
2 Resolved Pending Customer Action    11
3               Pending xxx Action     3
4               Pending yyy Action     7
5                           Closed    54
6                         Canceled     0

Я понимаю, почему плавление / литье дает мнерезультаты это делает.Но как еще я могу сделать это, чтобы получить желаемые результаты?

1 Ответ

2 голосов
/ 04 ноября 2010

Вы можете просто использовать table

instats <- data.frame(status=sample(letters[1:5],75,TRUE))
instats$status <- factor(instats$status,levels=letters[1:6])

table(instats$status)
as.data.frame(table(instats$status))

# or summary
summary(instats$status)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...