On 09/17/2013 07:49 PM, palad...@trustindata.de wrote:
Hello,
I have got a data frame looking like this:
Country Sector m-value
USA Banks 38.5
USA Media 17
USA hospitals 2.3
Germany Banks 56
Germany real estate 1
Italy Banks 34
Italy Media 23
Italy real estate 78
Italy Beverage 23
....
I would like to have a graph, let's say country on the x-axis, sector at
the y-axis, and for
each compination of country and sector a square in blue. The shade of
the color should depend on the
level of the m-value.(This graph should look more or less like the graph
when you use corrgram() to display correlation)
Hi Claudia,
If you can fill in the missing values with NA as below, try this:
cpdat<-read.table(text="USA Banks 38.5
USA Media 17
USA real_estate NA
USA hospitals 2.3
USA Beverage NA
Germany Banks 56
Germany Media NA
Germany real_estate 1
Germany hospitals 5
Germany Beverage NA
Italy Banks 34
Italy Media 23
Italy real_estate 78
Italy hospitals NA
Italy Beverage 23
Australia Banks 15
Australia Media 10
Australia real_estate 42
Australia hospitals NA
Australia Beverage 34")
# create a matrix
cpmat<-matrix(0,nrow=5,ncol=4)
# fill the matrix
for(i in 1:20)
cpmat[as.numeric(cpdat$V2[i]),as.numeric(cpdat$V1[i])]<-cpdat$V3[i]
color2D.matplot(cpmat,extremes=c("blue","red"),axes=FALSE,
main="Intensity plot")
axis(1,at=seq(0.5,3.5),labels=levels(cpdat$V1))
axis(2,at=seq(0.5,4.5),labels=levels(cpdat$V2))
Jim
______________________________________________
R-help@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.