2010-10-24 4 views
1

У меня результаты поиска. Я пытаюсь создать графику, отображающую взаимосвязь двух переменных: «Q1» и «Q9.1». «Q1» является независимым, а «Q9.1» является зависимым. Обе переменные имеют ответы от подобных масштабных вопросов: -2, -1,0,1,2. Типичный сюжет помещает ответы друг на друга - не очень интересно или информативно. Я думал, что гексбин - это путь. Данные находятся в lpp. Я не смог использовать «Q1» и «Q9.1» для x и y. Однако:Базовый шестигранник с R?

> is.numeric("Q1") 
[1] FALSE 
q1.num <- as.numeric("Q1") 
Warning message: 
NAs introduced by coercion 

Значения для Q1 являются (сотни экземпляров): -2, -1,0,1,2

Как можно сделать hexbin граф с этими данными? Есть ли другой график, который я должен рассмотреть?

Сообщения об ошибках до сих пор:

Warning messages: 
1: In xy.coords(x, y, xl, yl) : NAs introduced by coercion 
2: In xy.coords(x, y, xl, yl) : NAs introduced by coercion 
3: In min(x) : no non-missing arguments to min; returning Inf 
4: In max(x) : no non-missing arguments to max; returning -Inf 
5: In min(x) : no non-missing arguments to min; returning Inf 
6: In max(x) : no non-missing arguments to max; returning -Inf 
+0

Это может помочь предоставить некоторые примеры данных, чтобы мы могли видеть, какую структуру он имеет в настоящее время. Полезной функцией для этого является dput (...), которая выводит описание, которое может быть использовано для воссоздания объекта. – PaulHurleyuk

+0

@Donnied; Сначала вам нужно отсортировать свои данные. Что-то здесь не так; вы вводите NA при принуждении к numeric, во время построения, 'xy.coords()' создает NA, так что у вас нет данных, отличных от NA. Взгляните на вывод 'str (Q1)' и т. Д. Для всех ваших данных - хранятся ли они в виде чисел? Наконец, ваши первые две строки R неправильны; вы не ссылаетесь на объект по его ** цитированному ** имени. Если вы хотите узнать, является ли 'Q1' числовым, вы делаете' is.numeric (Q1) '. Вы сделали запрос, если строка '' Q1 ''является числовой, что неизбежно является FALSE. Вы не делали этого в вызове 'plot()' did you? –

+0

Прошу прощения. Я только начал использовать R. У меня есть файл csv, который я читал как данные. «Q1» является одним из заголовков столбцов/переменных. – Donnied

ответ

3

Как насчет того, несколько иной подход? Как насчет мышления ваших ответов как факторов, а не цифр? Вы могли бы использовать что-то вроде этого, то, чтобы получить потенциально полезное представление ваших данных:

 
# Simulate data for testing purposes 
q1 = sample(c(-2,-1,0,1,2),100,replace=TRUE) 
q9 = sample(c(-2,-1,0,1,2),100,replace=TRUE) 
dat = data.frame(q1=factor(q1),q9=factor(q9)) 
library(ggplot2) 
# generate stacked barchart 
ggplot(dat,aes(q1,fill=q9)) + geom_bar() 

Вы можете хотеть переключить q1 и Q9 выше, в зависимости от представления данных, которые вы хотите.

+0

Это произвело один сплошной бар. – Donnied

+0

Приношу свои извинения ... Отлично работает! Спасибо. – Donnied

+0

Замечательно, что это сработало для вас. – seandavi

2

Возможно, ggplot2's stat_binhex может сортировать это для вас?

Кроме того, я нахожу scale_alpha полезным для работы с надстройкой.

+0

Мне очень нравится stat_binhex. Я не могу найти, как добавить заголовок. labs, xl и yl не работают. – Donnied

+0

для метки x ось, которую вы могли бы попробовать: qplot (x, y, data = data, xlab = "my label") или: ggplot (data, aes (x, y)) + geom_point() + scale_x_continuous ("my label ") – radek

+1

Функции' ylab() 'и' xlab() 'также добавляют метки осей, например'ggplot (data, aes (x, y)) + geom_point() + ylab (" моя метка ")' –