Построение простой гистограммы в R, ошибка: высота должна быть вектором матрицы

Это мой фрейм данных в R,

New York  8755
     Texas  7654
California  6726
   Florida  6322

Я просто хочу, чтобы график сравнивал числа в столбце, сложенном рядом. Мне не удалось этого добиться. Я получаю сообщение об ошибке «Высота должна быть вектором матрицы». Пожалуйста, предложите! Большое спасибо!


person ledzee    schedule 26.06.2015    source источник
comment
Какую команду вы используете для построения графика? Вы, вероятно, хотите что-то вроде этого — barplot(x$V2,names.arg=x$V1), где x — ваши данные, а v1 и v2 — названия городов и столбцов данных.   -  person jeremycg    schedule 26.06.2015
comment
Я использовал barplot(us.june) Ошибка в barplot.default(us.june): «высота» должна быть вектором или матрицей › barplot(us.june)   -  person ledzee    schedule 26.06.2015
comment
Итак, barplot(us.june[,2],names.arg=us.june[,1]). Вам нужно указать R, какой столбец является данными, а какой — именами. Ошибка, которую вы получили, заключается в том, что R говорит вам, что для построения графика нужны только числа, но вы дали ему что-то еще.   -  person jeremycg    schedule 26.06.2015
comment
Большое спасибо .. Я работал над этим довольно долго! Я буду иметь это в виду сейчас.   -  person ledzee    schedule 26.06.2015


Ответы (1)


R не может сказать, какая переменная какая, когда вы передаете ей весь data.frame для построения графика. В этом случае ошибка 'height' must be a vector or a matrix говорит вам, что вы не дали функции графика то, что она хотела.

Для barplot использование ?barplot скажет вам, что нужно:

гистограмма (высота, ширина = 1, пробел = NULL, name.arg = NULL ....

В вашем случае у вас есть data.frame с высотами во втором столбце и именами в первом, поэтому вы хотите сделать:

barplot(data[ ,2], names.arg = data[ ,1])
person jeremycg    schedule 26.06.2015