Как получить метки со значением NA, которые не имеют значений в столбце, используя функцию вырезания? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть группы по умолчанию для подсчета частоты. Для этого я использую функцию вырезки и таблицы. Я использую include.lowest = TRUE в разрезе, но не повезло, чтобы получить метки, которые не имеют предустановленных значений при создании разрывов. То, что я хочу, даже если значения не присутствуют для группы, тогда должен прийти NA для этой группы, возможно ли это? ниже мой код.

bins = c(0,1,2,3,4,5,10,20,50,100,200,"max")
bins[length(bins)] <- max(data$wordCount)
ApplyBreaks <- function(x) {
   cut(data$wordCount,breaks = bins, dig.lab=5, include.lowest = TRUE,
  ordered_result = TRUE, labels = c("0-1","1-2","2-3","3-4","4-5","5-10",
  "10-20","20-50","50-100","100-200",paste0("200-,max(data$wordCount))))
}

data$breaks <- sapply(data$wordCount,ApplyBreaks)`
dataTable <- table(data$breaks,useNA = "always")`

Выводит как

enter image description here

1 Ответ

0 голосов
/ 07 октября 2019

Попробуйте использовать cut как

temp <- table(cut(df$wordCount, 
                 breaks = c(0,1,2,3,4,5,10,20,50,100,200, Inf), 
           labels = c("0-1","1-2","2-3","3-4","4-5","5-10","10-20",
                      "20- 50","50-100","100-200","200+")))
temp

#    0-1  1-2  2-3  3-4   4-5    5-10   10-20  20- 50  50-100 100-200    200+ 
#      0    0    1    0     0       0       1       0       2       1       1

Это вернет 0 значений для уровней, которых нет в данных.

...