2015-06-10 3 views
1

Я получил данные в виде таблицы, которые выглядят, как это в R:R: Участок Плотность Графики для данных в таблицах по Labels в таблицах

 V1 V2 
    1 19 -1539 
    2 7 -1507 
    3 3 -1446 
    4 7 -1427 
    5 8 -1401 
    6 2 -422 
    7 22 4178 
    8 5 4277 
    9 10 4303 
    10 18 4431 


    ....200 million more lines to go 

Я хотел бы построить на график плотности для значения во втором столбце относительно метки в первом столбце (т.е. каждая метка имеет кривую плотности на одном и том же графе). Но я не знаю, как это сделать. Любое предложение?

ответ

0

OK Я полагаю, что это сам

ggplot(data, aes(x=V2, color=V1)) + geom_density(aes(group=V1)) 

Должно быть в состоянии это сделать. Однако есть два, что мне нужно, чтобы убедиться, что первый для того, чтобы запустить его:

  1. V1 является фактором
  2. V2 является численное значение

Данные, которые я получил не было устанавливается непосредственно read.tables в том, как я хочу, так что я должен сделать следующее перед использованием ggplot:

data$V1 = as.factor(data$V1) 
data$V2 = as.numeric(as.character(data$V2)) 
2

Если бы я правильно понял вопрос, это в конце концов получилось бы как плотная карта тепла в конце. (Учитывая, всего имеется 200 миллионов наблюдений и V1 имеет довольно значительный диапазон изменения)

Для этого я хотел бы попробовать ggplot и stat_binhex:

df <- read.table(text="V1 V2 
1 19 -1539 
2 7 -1507 
3 3 -1446 
4 7 -1427 
5 8 -1401 
6 2 -422 
7 22 4178 
8 5 4277 
9 10 4303 
10 18 4431") 

library(ggplot2) 

ggplot(data=df,aes(V1,V2)) + 
    stat_binhex() + 
    scale_fill_gradient(low="red", high="steelblue") + 
    scale_y_continuous() + 
    theme_bw() 

stat_binhex должен хорошо работать с большими данными и имеет несколько параметров, которые будут помощь в презентации (как bins, binwidth См. ?stat_binhex)

+0

V1 фактически целые числа от 0 до 24 ... вот почему я использую слово LABEL». " –

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