exponenta event banner

График категориальных данных

В этом примере показано, как выводить данные из категориального массива.

Загрузить данные образца

Загрузка выборочных данных, собранных от 100 пациентов.

load patients

whos
  Name                            Size            Bytes  Class      Attributes

  Age                           100x1               800  double               
  Diastolic                     100x1               800  double               
  Gender                        100x1             11412  cell                 
  Height                        100x1               800  double               
  LastName                      100x1             11616  cell                 
  Location                      100x1             14208  cell                 
  SelfAssessedHealthStatus      100x1             11540  cell                 
  Smoker                        100x1               100  logical              
  Systolic                      100x1               800  double               
  Weight                        100x1               800  double               

Создание категориальных массивов из массивов ячеек векторов символов

Переменная рабочей области, Location, представляет собой клеточный массив векторов символов, который содержит три уникальных медицинских учреждения, где наблюдались пациенты.

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

Location = categorical(Location);

Обобщите категориальный массив.

summary(Location)
     County General Hospital        39 
     St. Mary's Medical Center      24 
     VA Hospital                    37 

39 пациентов наблюдались в больнице общего профиля округа, 24 в медицинском центре Святой Марии и 37 в больнице VA.

Переменная рабочей области, SelfAssessedHealthStatus, содержит четыре уникальных значения, Excellent, Fair, Good, и Poor.

Новообращенный SelfAssessedHealthStatus к порядковому категориальному массиву, так что категории имеют математический порядок Poor < Fair < Good < Excellent.

SelfAssessedHealthStatus = categorical(SelfAssessedHealthStatus,...
    {'Poor' 'Fair' 'Good' 'Excellent'},'Ordinal',true);

Обобщите категориальный массив, SelfAssessedHealthStatus.

summary(SelfAssessedHealthStatus)
     Poor           11 
     Fair           15 
     Good           40 
     Excellent      34 

Гистограмма графика

Создание гистограммного штрих-графика непосредственно из категориального массива.

figure
histogram(SelfAssessedHealthStatus)
title('Self Assessed Health Status From 100 Patients')

Figure contains an axes. The axes with title Self Assessed Health Status From 100 Patients contains an object of type categoricalhistogram.

Функция histogram принимает категориальный массив, SelfAssessedHealthStatusи строит подсчет категорий для каждой из четырех категорий.

Создайте гистограмму расположения больницы только для пациентов, которые оценили свое здоровье как Fair или Poor.

figure
histogram(Location(SelfAssessedHealthStatus<='Fair'))
title('Location of Patients in Fair or Poor Health')

Figure contains an axes. The axes with title Location of Patients in Fair or Poor Health contains an object of type categoricalhistogram.

Создать круговую диаграмму

Создание круговой диаграммы непосредственно из категориального массива.

figure
pie(SelfAssessedHealthStatus);
title('Self Assessed Health Status From 100 Patients')

Функция pie принимает категориальный массив, SelfAssessedHealthStatusи строит круговую диаграмму четырех категорий.

Создать диаграмму Парето

Создайте диаграмму Парето из числа категорий для каждой из четырех категорий SelfAssessedHealthStatus.

figure
A = countcats(SelfAssessedHealthStatus);
C = categories(SelfAssessedHealthStatus);
pareto(A,C);
title('Self Assessed Health Status From 100 Patients')

Figure contains 2 axes. Axes 1 with title Self Assessed Health Status From 100 Patients contains 2 objects of type bar, line. Axes 2 is empty.

Первый входной аргумент для pareto должен быть вектором. Если категориальный массив является матрицей или многомерным массивом, измените его форму в вектор перед вызовом countcats и pareto.

Создание точечного графика

Преобразование массива ячеек векторов символов в категориальный массив.

Gender = categorical(Gender);

Обобщите категориальный массив, Gender.

summary(Gender)
     Female      53 
     Male        47 

Gender - категориальный массив «100 на 1» с двумя категориями, Female и Male.

Используйте категориальный массив, Gender, для доступа Weight и Height данные по каждому полу отдельно.

X1 = Weight(Gender=='Female');
Y1 = Height(Gender=='Female');

X2 = Weight(Gender=='Male');
Y2 = Height(Gender=='Male');

X1 и Y1 это числовые массивы 53 на 1, содержащие данные от пациентов женского пола.

X2 и Y2 Это числовые массивы 47 на 1, содержащие данные от пациентов мужского пола.

Создайте график разброса высоты и веса. Укажите данные о пациентах женского пола с кругом и данные о пациентах мужского пола с крестом.

figure
h1 = scatter(X1,Y1,'o');
hold on
h2 = scatter(X2,Y2,'x');

title('Height vs. Weight')
xlabel('Weight (lbs)')
ylabel('Height (in)')

Figure contains an axes. The axes with title Height vs. Weight contains 2 objects of type scatter.

См. также

| | | | | | |

Связанные темы