Skip to content

7. Nominative Data Analysis

deloren89 edited this page Feb 28, 2018 · 4 revisions
  • К частям таблицы можно обращаться так же, как и к матрицам. HairEyeColor - таблица с данными, встроенными в R. Посмотрите на неё в R. Команда dimnames(HairEyeColor) позволит нам посмотреть, какие измерения есть в этой таблице и как они называются. Например, чтобы обратиться к части таблицы, в которой хранятся данные только о мужчинах, нам нужно выполнить следующую команду: HairEyeColor[ , ,'Male'] Ваша задача в переменную red_men сохранить долю рыжеволосых (Red) от общего числа голубоглазых мужчин. Обратите внимание, что нужны не проценты, а просто доля, то есть десятичная дробь (например, не 10%, а 0.1).

male <- HairEyeColor[ , ,'Male']
str <- prop.table(male, 2)
red_men <- str[3,2]
OR
prop.table(HairEyeColor[ , ,'Male'],2)['Red','Blue']
OR
t1 <- prop.table(HairEyeColor[, , 'Male'], 2)
red_men <- (t1['Red','Blue'])

  • C таблицами, как и с матрицами, можно совершать разные арифметические операции, например, суммировать все элементы таблицы. Напишите число зеленоглазых женщин в наборе данных HairEyeColor.

sum(HairEyeColor[,,'Female'][,'Green'])

Постройте столбчатую диаграмму распределения цвета глаз по цвету волос только у женщин из таблицы HairEyeColor. По оси X должен идти цвет волос, цвет столбиков должен отражать цвет глаз. По оси Y - количество наблюдений.

Чтобы построить столбчатую диаграмму в ggplot, вам нужно подключить нужный пакет, затем преобразовать таблицу HairEyeColor в data frame:

mydata <- as.data.frame(HairEyeColor)

Постройте график на основе предложенного кода, сохранив его в переменную obj. Укажите, чему равен аргумент data, что должно находиться в aes(). Изучите справку по geom_bar(), чтобы узнать, чему должен равняться аргумент position для отображения цвета глаз в виде соседних столбиков, также вам может быть полезна эта памятка. Там же вы найдёте ответ на вопрос, за что отвечает аргумент stat. С помощью scale_fill_manual мы говорим графику, что мы хотим, чтобы он использовал указанные нами цвета. Дополните предложенный код: library("ggplot2") mydata <- as.data.frame(HairEyeColor) obj <- ggplot(data = , aes(x = , y = Freq)) + geom_bar(stat="identity", position = ) + scale_fill_manual(values=c("Brown", "Blue", "Darkgrey", "Darkgreen")) У себя на компьютере вы можете визуализировать полученный график, исполнив 'obj'. В случае, если все сделано правильно, он будет выглядеть так (обратите внимание на название осей и легенды):

library("ggplot2")
mydata <- as.data.frame(HairEyeColor)
mydata2 <- subset(mydata, Sex == "Female")
obj <- ggplot(data = mydata2, aes(x = Hair, y = Freq, fill = Eye)) +
geom_bar(stat="identity", position = "dodge") +
scale_fill_manual(values=c("Brown", "Blue", "Darkgrey", "Darkgreen"))

Clone this wiki locally