barchart
Rのパッケージからの不規則なプロットに少し困惑していlattice
ます。具体的には、人口統計情報の頻度データのバーチャートのマルチプロットを実行しようとしています。
次のコードは、データを正しくロードし、(うまくいけば) 発生している問題を再現する必要があります...
library(lattice)
compareSamples <- structure(list(Variable = structure(c(1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 18L, 19L, 21L,
20L, 23L, 22L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 17L, 17L, 43L,
41L, 6L, 40L, 39L, 38L, 37L, 35L, 44L, 36L, 33L, 34L, 32L, 42L,
31L), .Label = c("Educator", "Engine Boss/ Operator", "Fire Management Officer",
"Firefighter", "Natural Resource Manager", "Other", "Prescribed Fire Burn Boss",
"Ranger", "Technician", "A.A. degree", "Bachelors degree", "Doctorate",
"High school diploma", "Masters degree", "Some college", "Some high school",
"", "Alabama", "Arkansas", "Florida", "Georgia", "Kentucky",
"Louisiana", "Mississippi", "North Carolina", "South Carolina",
"Tennessee", "Texas", "Virginia", "West Virginia", "Cty Extension",
"Cty Fire / Resource Mgmt", "Dept. of Env. Protection", "DoD",
"NGO", "NPS", "Private, commercial", "Private, contractor", "Private, non-commerical",
"State Fish and Wildlife ", "State Forest Service", "State Water Mgmt Dist",
"USFS", "USFWS"), class = "factor"), Count = c(6L, 2L, 68L, 11L,
165L, 72L, 59L, 16L, 14L, 39L, 181L, 12L, 11L, 100L, 28L, 0L,
29L, 10L, 38L, 147L, 15L, 5L, 23L, 73L, 30L, 9L, 16L, 10L, 0L,
NA, NA, 66L, 57L, 54L, 51L, 31L, 27L, 25L, 23L, 18L, 17L, 16L,
15L, 10L, 8L, 2L), Percent = c(0.0145278450363196, 0.00484261501210654,
0.164648910411622, 0.026634382566586, 0.399515738498789, 0.174334140435835,
0.142857142857143, 0.0387409200968523, 0.0338983050847458, 0.105121293800539,
0.487870619946092, 0.032345013477089, 0.0296495956873315, 0.269541778975741,
0.0754716981132075, 0, 0.0716049382716049, 0.0246913580246914,
0.0938271604938272, 0.362962962962963, 0.037037037037037, 0.0123456790123457,
0.0567901234567901, 0.180246913580247, 0.0740740740740741, 0.0222222222222222,
0.0395061728395062, 0.0246913580246914, 0, NA, NA, 0.157142857142857,
0.135714285714286, 0.128571428571429, 0.121428571428571, 0.0738095238095238,
0.0642857142857143, 0.0595238095238095, 0.0547619047619048, 0.0428571428571429,
0.0404761904761905, 0.0380952380952381, 0.0357142857142857, 0.0238095238095238,
0.019047619047619, 0.00476190476190476), Measurement = structure(c(3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Agency",
"Education", "Job Title", "State"), class = "factor"), Grouping = structure(c(2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1",
"2"), class = "factor")), .Names = c("Variable", "Count", "Percent",
"Measurement", "Grouping"), row.names = c(NA, 46L), class = "data.frame")
barchart((Percent*100)~Variable|Measurement, #Plot Percent / measured variable
data = compareSamples,
as.table=FALSE,
scales=list(x="free", y="free", rot=45, cex=expandVar),
ylab="Percent Response",
ylim=c(0,50),
drop.unused.levels = TRUE,
main = "Demographic Information",
par.settings=simpleTheme(col="grey"))
これで、次のプロットが表示されます。
ご覧のとおり、プロットはパネルの 3/4 に均等に分布していますが、Agency の棒グラフは不規則なグループ化を示しています。
バーをすべて均等に配置したいと思います。
データを「エージェンシー」固有の情報だけにサブセット化し、棒グラフをプロットしても、結果は得られません。
agencySpecific <- subset(compareSamples, Measurement == "Agency")
barchart((Percent*100)~Variable,
data = agencySpecific,
as.table=FALSE,
scales=list(x="free", y="free", rot=45, cex=.7),
ylab="Percent Response",
ylim=c(0,50),
drop.unused.levels = TRUE,
main = "Demographic Information",
par.settings=simpleTheme(col="grey"))
したがって、私は途方に暮れています。ランダムな値でデータフレームを再作成しましたが、エラーを再現できませんでした。