2016-12-22 6 views
0

У меня есть кадр данных выглядит следующим образом,Визуализация данных с R: анализ настроений

text     class.negative  class.positive  class 
<fctr>     <dbl>    <dbl>    <dbl> 

firmly believe...  11     24     3 
when i thought...  3     3     4 
fans of david...  11     24     12 
just watched...   3     5     9 
i was so looking...  16     9     10 

Я хотел бы представить себе результат и просто начать обучение, как работать с ggplot, и показать «позитивный», «отрицательные» и «итоговые оценки». Но, очевидно, я не могу просто поставить их в качестве

ggplot(data=..., aes(x=..., y=..., fill=...)) + geom_bar(stat="identity",position = 'stack') + ggtitle('Sentimental Analysis') 

Интересно, как я могу создать подобную схему, как этот http://joxi.ru/vAWvKx5HeXp72W, любые советы/рекомендации очень ценится!

+0

попробуйте использовать пакет 'reshape2', сначала расплавьте свои данные:' dfm <- melt (df, id.vars = 'text') ', затем зарисуйте. – Shape

ответ

1

Сначала необходимо изменить форму данных, а затем использовать geom_line от ggplot. Я буду использовать gather от tidyr для переформирования ваших данных. Я вызываю начальный data_frame dff.

dff %>% gather(opinion, values, -text) %>% 
    ggplot(data = .) + 
    geom_line(aes(x = text, y = values, group = opinion, color = opinion)) 

Это должно привести:

enter image description here

Вы также можете визуализировать данные, используя geom_bar со следующим:

dff %>% 
    gather(opinion, values, -text) %>% 
    ggplot() + 
    geom_bar(aes(y = values, x = text, fill = opinion), stat = "identity") 

Это должно дать что-то вроде:

enter image description here

Надеюсь, это поможет.

+0

Ты спасатель! Это именно то, что я пытался сделать, мне было интересно, можно ли использовать 'geom_bar'? Поскольку у меня много данных, линии становятся беспорядочными между ними. Большое спасибо!! – LenaLD