Могу ли я изменить результаты отображения базовой функции R summary() для символьных векторов?

#r #summary

#r #Краткие сведения

Вопрос:

Всегда ли summary() отображала символьные векторы таким образом? Я не помню, чтобы это было так.

Использование образца набора данных

 install.packages("mlbench")
library(mlbench)
  

Изучите содержимое и просмотрите все числовые векторы, за исключением одного столбца «chas», в качестве факторов

 #shortened for easier readability
BostonHousing <- BostonHousing[,c(1:4)]

str(BostonHousing)
#'data.frame':  506 obs. of  4 variables:
 #$ crim : num  0.00632 0.02731 0.02729 0.03237 0.06905 ...
 #$ zn   : num  18 0 0 0 0 0 12.5 12.5 12.5 12.5 ...
 #$ indus: num  2.31 7.07 7.07 2.18 2.18 2.18 7.87 7.87 7.87 7.87 ...
 #$ chas : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...

summary(BostonHousing)
#crim                zn             indus       chas   
 #Min.   : 0.00632   Min.   :  0.00   Min.   : 0.46   0:471  
 #1st Qu.: 0.08204   1st Qu.:  0.00   1st Qu.: 5.19   1: 35  
 #Median : 0.25651   Median :  0.00   Median : 9.69          
 #Mean   : 3.61352   Mean   : 11.36   Mean   :11.14          
 #3rd Qu.: 3.67708   3rd Qu.: 12.50   3rd Qu.:18.10          
 #Max.   :88.97620   Max.   :100.00   Max.   :27.74   
  

Измените ‘chas’ на символьный вектор.

 BostonHousing$chas <- as.character(BostonHousing$chas)
  

Теперь, когда я перехожу к run summary, в столбце ‘chas’ отображается значение NULL. Я думал, что помню, что видел имя столбца с (символом) и размерами, отображаемыми внизу.

 head(summary(BostonHousing))

  crim                zn             indus         chas  
 Min.   : 0.00632   Min.   :  0.00   Min.   : 0.46   NULL:0  
 1st Qu.: 0.08204   1st Qu.:  0.00   1st Qu.: 5.19   NULL:0  
 Median : 0.25651   Median :  0.00   Median : 9.69   NULL:0  
 Mean   : 3.61352   Mean   : 11.36   Mean   :11.14   NULL:0  
 3rd Qu.: 3.67708   3rd Qu.: 12.50   3rd Qu.:18.10   NULL:0  
 Max.   :88.97620   Max.   :100.00   Max.   :27.74   NULL:0 
  

Комментарии:

1. Я не могу воспроизвести ваш результат. Это отлично работает для меня и возвращает Length:506 Class: character Mode: character для chas столбца. Кроме того, просто summary(BostonHousing) сделает это, или summary(head(BostonHousing)) — не ставьте head() как самую внешнюю функцию.

Ответ №1:

Похоже, я установил пакет с ошибками или что-то переопределил. Я перезапустил R Studio / компьютер и теперь нормально работаю, показывая: Длина: 506, Длина: 506, Режим: символьный:

 summary(BostonHousing)

      crim                zn             indus           chas          
 Min.   : 0.00632   Min.   :  0.00   Min.   : 0.46   Length:506        
 1st Qu.: 0.08204   1st Qu.:  0.00   1st Qu.: 5.19   Length:506 
 Median : 0.25651   Median :  0.00   Median : 9.69   Mode  :character  
 Mean   : 3.61352   Mean   : 11.36   Mean   :11.14                     
 3rd Qu.: 3.67708   3rd Qu.: 12.50   3rd Qu.:18.10                     
 Max.   :88.97620   Max.   :100.00   Max.   :27.74