barplotModelBased {Ratings} | R Documentation |
Creates the model-based barplot described in Ho and Quinn (n.d.).
barplotModelBased(tau.mat, barcol = "darkgray", top.limit = 0.5, scale.factor = 1, ...)
tau.mat |
A P x C matrix where P is the number of products being rated and C is the number of rating categories. The pth row, cth column of tau.mat should give the probability that product p is equal to category c. |
barcol |
The color for the bars in the barplot. |
top.limit |
The maximum value of the y axis. Should be between 0 and 1. |
scale.factor |
Scaling factor that adjusts the scaling of the y axis. Any positive value is allowed. |
... |
Other arguments to plotting functions. |
Ho, Daniel E. and Kevin M. Quinn. forthcoming. "Improving the Presentation and Interpretation of Online Ratings Data with Model-based Figures." The American Statistician.
ordrating
,
tauCalculate
,
starplotModelBased
## Not run: ## Mondo Times example from Ho & Quinn (nd). ## may have to increase stack limit to run this example on some machines data(Mondo) ord.out <- ordrating(Mondo, beta.constraint=1, tune=.035, ma=1, mb=-5, vinva=1, vinvb=0.05, gamma.start=c(-300, 0, 1.5, 3.0, 4.5, 300), thin=20, burnin=20000, mcmc=100000, verbose=1000) ## get rating probabilities tau <- tauCalculate(ord.out, 500) ## just the labeled outlets tau.sub <- tau[-grep("thetaOutlet", rownames(tau)),] ## clean up names rownames(tau.sub) <- gsub("theta", "", rownames(tau.sub)) barplotModelBased(tau.sub) ## more informative labels colnames(tau.sub) <- c("Awful", "Poor", "Average", "Very Good", "Great") barplotModelBased(tau.sub) ## subsetting the Mondo data to include only raters who rated 5 or more ## outlets (should avoid any stacksize problems) Mondo.sub <- Mondo[apply(!is.na(Mondo), 1, sum) >= 5, ] ## also getting rid of outlets that are not rated now Mondo.sub <- Mondo.sub[,apply(is.na(Mondo.sub), 2, mean) != 1] ord.out <- ordrating(Mondo.sub, beta.constraint=1, tune=.035, ma=1, mb=-5, vinva=1, vinvb=0.05, gamma.start=c(-300, 0, 1.5, 3.0, 4.5, 300), thin=20, burnin=20000, mcmc=100000, verbose=1000) ## get rating probabilities tau <- tauCalculate(ord.out, 500) ## just the labeled outlets tau.sub <- tau[-grep("thetaOutlet", rownames(tau)),] ## clean up names rownames(tau.sub) <- gsub("theta", "", rownames(tau.sub)) barplotModelBased(tau.sub) ## more informative labels colnames(tau.sub) <- c("Awful", "Poor", "Average", "Very Good", "Great") barplotModelBased(tau.sub) ## End(Not run)