Сюжет категориальной переменной - PullRequest
2 голосов
/ 22 января 2020

Я новичок в R, и я следую инструкциям слайдов для построения графика:

enter image description here

survey[["Program"]] - это столбец категориальных данных из фрейм данных.

> survey[["Program"]]  # returns the Program column as a vector
 [1] "PPM"   "PPM"   "PPM"   "Other" "PPM"   "PPM"   "PPM"   "Other" "PPM"   "Other" "MISM"  "PPM"   "MISM" 
[14] "Other" "PPM"   "PPM"   "PPM"   "PPM"   "PPM"   "Other" "PPM"   "MISM"  "PPM"   "PPM"   "PPM"   "MISM" 
[27] "PPM"   "Other" "Other" "PPM"   "Other"

Однако, когда я реализую plot(survey[["Program"]]), я получаю ошибку:

Error in plot.window(...) : need finite 'ylim' values
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf

Я не знаю, почему я не могу получить тот же результат, который показан на рисунке .

1 Ответ

3 голосов
/ 22 января 2020

Эта команда plot работает только для столбца factor. (Ну, это работает на многих вещах, но путаница здесь из-за того, что переменная не является фактором.) Сравните, например,

plot(c('a', 'a', 'b', 'b', 'c'))
Error in plot.window(...) : need finite 'ylim' values
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf

с

plot(factor(c('a', 'a', 'b', 'b', 'c')))

enter image description here

Вы можете проверить классы своих столбцов, вызвав str(survey). Возможно, вы прочитали данные не так, как предполагалось на этих слайдах.

Вы можете использовать

plot(factor(survey[["Program"]]))

или, возможно,

barplot(table(survey[["Program"]]))

, чтобы получить то же самое результат.

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