[R] plotting a set of discrete distributions
Gabor Grothendieck
ggrothendieck at gmail.com
Thu Oct 8 16:27:52 CEST 2009
Try this (possibly after scaling the rows or columns to 1):
library(gplots)
with(as.data.frame.table(as.matrix(jevons[-1])), balloonplot(Var1, Var2, Freq))
On Thu, Oct 8, 2009 at 9:24 AM, Michael Friendly <friendly at yorku.ca> wrote:
> I have the following data set, representing the the estimated number of some
> event (est), when the actual number
> was 3, 4, ..., 15. The numbers in the cells are the observed *frequencies*
> of each combination of (actual, estimated),
> so each column (a3 -- a15) gives a single discrete frequency distribution.
> Thus, when the actual number was 6,
> the estimated values were 5,6,7 with frequencies 7, 120, 20. The NAs could
> be taken as 0s.
>
>
>> jevons <- read.csv("C:/Documents/milestone/papers/Jevons/jevons.csv")
>> jevons
> est a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15
> 1 3 23 NA NA NA NA NA NA NA NA NA NA NA NA
> 2 4 NA 65 NA NA NA NA NA NA NA NA NA NA NA
> 3 5 NA NA 102 7 NA NA NA NA NA NA NA NA NA
> 4 6 NA NA 4 120 18 NA NA NA NA NA NA NA NA
> 5 7 NA NA 1 20 113 30 2 NA NA NA NA NA NA
> 6 8 NA NA NA NA 25 76 24 6 1 NA NA NA NA
> 7 9 NA NA NA NA NA 28 76 37 11 1 NA NA NA
> 8 10 NA NA NA NA NA 1 18 46 19 4 NA NA NA
> 9 11 NA NA NA NA NA NA 2 16 26 17 7 2 NA
> 10 12 NA NA NA NA NA NA NA 2 12 19 11 3 2
> 11 13 NA NA NA NA NA NA NA NA NA 3 6 3 1
> 12 14 NA NA NA NA NA NA NA NA NA 1 1 4 6
> 13 15 NA NA NA NA NA NA NA NA NA NA 1 2 2
>
> I'd like to make a plots of (x=actual, y=estimated) and (x=actual,
> y=estimated-actual), showing these frequency distributions,
> but I'm not sure how to make a plot that shows these distributions clearly,
> since the values are frequencies.
> To start off, I converted the table to a data frame, excluding the NAs:
>
> jevons.df <- matrix(0, 0, 3)
> colnames(jevons.df) <- c("actual", "estimated", "frequency")
> for(i in 1:nrow(jevons)) {
> estimated <-i+2
> for (j in 2:14) {
> actual <- j+1
> freq <- jevons[i,j]
> if (! is.na(freq)) jevons.df <- rbind(jevons.df, c(actual, estimated,
> freq))
> }
> }
>
> giving
>
>> jevons.df
> actual estimated frequency
> [1,] 3 3 23
> [2,] 4 4 65
> [3,] 5 5 102
> [4,] 6 5 7
> [5,] 5 6 4
> [6,] 6 6 120
> [7,] 7 6 18
> [8,] 5 7 1
> ...
>
> -Michael
>
>
>
> --
> Michael Friendly Email: friendly AT yorku DOT ca Professor, Psychology
> Dept.
> York University Voice: 416 736-5115 x66249 Fax: 416 736-5814
> 4700 Keele Street http://www.math.yorku.ca/SCS/friendly.html
> Toronto, ONT M3J 1P3 CANADA
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list