Создание таблиц и гистограмм в R для начинающих - PullRequest
0 голосов
/ 27 марта 2020

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

У меня есть простой набор данных (файл .csv с 3 столбцами и 7 строками), и я пытаюсь создать из него таблицу и построить гистограмму со значениями двух числовых столбцов.

Grupo de idade;Freq. Relativa Homens;Freq. Relativa Mulheres
16 a 19;0,411;0,415
20 a 24;0,787;0,701
25 a 34;0,922;0,745
35 a 44;0,923;0,755
45 a 54;0,882;0,760
55 a 64;0,696;0,583
65 ou mais;0,205;0,126

df = read.csv(filename, header = TRUE, sep = ";")
tab = table(df)
sd = cbind(df$Freq.Homens, df$Freq.Mulheres)
barplot(sd, beside = TRUE)

Итак, сначала моя таблица выглядит так, со значениями в виде заголовков:

Freq..Relativa.Homens
Grupo.de.idade 0,205 0,411 0,696 0,787 0,882 0,922 0,923
    16 a 19        0     0     0     0     0     0     0
    20 a 24        0     0     0     0     0     0     0
    25 a 34        0     0     0     0     0     0     0
    35 a 44        0     0     0     0     0     0     0
    45 a 54        0     0     0     0     1     0     0
    55 a 64        0     0     0     0     0     0     0
    65 ou mais     0     0     0     0     0     0     0

И мой график строится с целыми значениями, такими как 2, 4 и 6. Я заметил, что это произошло из-за функции cbind, но без нее я ничего не могу построить.

1 Ответ

1 голос
/ 27 марта 2020

Первое: R думает, что англо-американский (; то есть десятичная метка - это ".".

Десятичная метка в ваших данных - это ",". Вы должны сообщить это R, добавление аргумента `de c =", "` `, то есть

df = read.csv(filename, header = TRUE, sep = ";". dec = ",")

В противном случае R интерпретирует числа как символы или строки

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

У вас есть только одна категориальная переменная (Grupo.de.idade) и две непрерывные переменные

R делает Лучше всего понять это и просто интерпретировать значения непрерывных переменных как категории, что, однако, не имеет смысла, например, в вашем наборе данных есть 1 наблюдение с "Grupo de idade" = "16 a 19" и значением «0,411» для «Freq. Relativa Homens». Это то, что table говорит вам.

Более того, ваши данные уже в табличном формате, поэтому, если вы хотите взглянуть на свои данные, просто введите df к консоли

* 101 8 *

Самый простой способ сделать простой барплот - это:

barplot(Freq..Relativa.Homens ~ Grupo.de.idade, data = df)

Слева от "~" поместите переменную для построения, справа - группирующую переменную. Кроме того, вы должны сообщить R имя набора данных.

Однако вместо метода проб и ошибок в RI рекомендуется проработать вводные главы одного из бесплатных учебных пособий или учебников можно найти в Интернете rnet, например Руководство пирата по R

Создано в 2020-03-27 по представ пакет (v0.3.0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...