2013-04-22 3 views
-5

У меня есть пять столбцов с номерами. Я хочу построить частотное распределение пяти столбцов на одном графике с разными цветами в R. Может ли кто-нибудь помочь мне, как я могу сделать это с примером. Я очень новой для Р.Распределение частот в R

+2

Просьба провести некоторое исследование, прежде чем задавать вопрос: http://www.cookbook-r.com/Graphs/Plotting_distributions_(ggplot2) – Roland

+1

Опубликовать воспроизводимый пример с образцом ввода, ожидать ed и код, который вы пробовали. – Nishanth

+0

У меня есть простая длина распределения 5 элементов в 5 колонках 1 5 7 8 9 10, 2 6 47 484 848, 3 38 383 838 и так далее. Я просто хочу, чтобы распределение частот в бункерах, например, 10 для всего набора данных на одном графике гистограммы с разными цветами. – user2252362

ответ

0

Вот основа R решение:

d = data.frame(a = rnorm(100), b = rnorm(100, 1), c = rnorm(100, 2), d = rnorm(100, 3), e = rnorm(100, 4)) 

plot(density(d$a), xlim = c(-4, 8)) 
lines(density(d$b), col = "red") 
lines(density(d$c), col = "green") 
lines(density(d$d), col = "blue") 
lines(density(d$e), col = "yellow") 
+0

Добавьте метод автоматического вычисления диапазонов для 'xlim' и' ylim', и я был бы рад, если бы вы голосовали за этот ответ. :) – A5C1D2H2I1M1N2O1R2T1

5

Используя данные выборки из @eddi, вы можете также рассмотреть вопрос о «решетки» пакет:

set.seed(1) 
d <- data.frame(a = rnorm(100), b = rnorm(100, 1), c = rnorm(100, 2), 
       d = rnorm(100, 3), e = rnorm(100, 4)) 

library(lattice) 

densityplot(~ a + b + c + d + e, data = d) 

Это даст:

enter image description here

Если у вас есть много столбцов, вы также можете создать свой р Многие сначала создавая formula:

myFormula <- as.formula(paste("~ ", paste(names(d), collapse = "+"))) 
densityplot(myFormula, data = d) 

Вы также должны изучить различные варианты, доступные для densityplot, такие как plot.points (которые могут быть установлены в FALSE, если вы не хотите точек в нижней части графиков плотности) и auto.key, чтобы добавить легенду.


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

d2 <- stack(d) 
library(ggplot2) 
qplot(values, colour=factor(ind), data=d2, geom="density") 

Результат:

enter image description here

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

  • Нет связанных вопросов^_^