2016-05-14 2 views
-4

Я использую гистограмму решетки, чтобы создать график плотности мер MPG автомобиля:Как предотвратить гистограмму() от изменения данных при установке xlim

histogram(~mtcars20$City.MPG) 

Histogram 1

По какой-то причине, добавив xlim искажает данные:

histogram(~mtcars20$City.MPG,xlim=c(0,30)) 

Histogram 2

Нет что данные теперь находятся между 0 и 8 вместо 17 и 24. Кто-нибудь знает, почему это так?

+1

Можете ли вы указать данные и/или код, который предоставит нам [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? (У меня нет 'mtcars20', я могу получить' mtcars' через 'data (mtcars)'.) Я не могу реплицировать проблему с помощью набора данных 'mtcars' и переменной' mpg'. –

ответ

1

mtcars$mpg является числовым, поэтому проблем нет. mtcars20$City.MPG представляется фактором, то есть числами 1: 6 с метками 17, 18, 20, 22, 23, 24. Когда вы используете xlim, чтобы начать с нуля, он интерпретирует это как то, как вы хотите переделать факторы. Он не знает, что вы хотите, чтобы метки соответствовали этим номерам. Вы можете использовать as.numeric(as.character(mtcars20$City.MPG)). Но действительно mpg не должен быть фактором.

+0

Мне потребовалось некоторое время, но это то, что я выяснил и в конце концов. Извините за предыдущие плакаты. Я не знал, что файл на самом деле немного отличается от стандартного файла примера R, поскольку столбец mpg действительно содержит факторы. Использование as.numeric в одиночку не сработало, поскольку оно не давало мне чисел, а уровни факторов как целые. Ответ @ DaveTurek может работать, но вместо этого я использовал параметр stringsAsFactors = F при импорте набора данных. Извините за поздний ответ. –

Смежные вопросы