ggplot2中facet_grid出错

时间:2016-10-09 14:09:56

标签: r ggplot2

我正在尝试执行以下代码:

ggplot(Data,aes(x=x))+
geom_density(aes(group=Iter),alpha=1,colour="gainsboro")+
facet_grid(factor(Age) ~ ., scales = "free") 

关于这些样本数据:

Data <- structure(list(Iter = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L), .Label = c("V1", "V2", "V3", "V4", "V5", "V6", 
"V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", 
"V17", "V18", "V19", "V20", "V21", "V22", "V23", "V24", "V25", 
"V26", "V27", "V28", "V29", "V30", "V31", "V32", "V33", "V34", 
"V35", "V36", "V37", "V38", "V39", "V40", "V41", "V42", "V43", 
"V44", "V45", "V46", "V47", "V48", "V49", "V50", "V51", "V52", 
"V53", "V54", "V55", "V56", "V57", "V58", "V59", "V60", "V61", 
"V62", "V63", "V64", "V65", "V66", "V67", "V68", "V69", "V70", 
"V71", "V72", "V73", "V74", "V75", "V76", "V77", "V78", "V79", 
"V80", "V81", "V82", "V83", "V84", "V85", "V86", "V87", "V88", 
"V89", "V90", "V91", "V92", "V93", "V94", "V95", "V96", "V97", 
"V98", "V99", "V100", "V101", "V102", "V103", "V104", "V105", 
"V106", "V107", "V108", "V109", "V110", "V111", "V112", "V113", 
"V114", "V115", "V116", "V117", "V118", "V119", "V120", "V121", 
"V122", "V123", "V124", "V125", "V126", "V127", "V128", "V129", 
"V130", "V131", "V132", "V133", "V134", "V135", "V136", "V137", 
"V138", "V139", "V140", "V141", "V142", "V143", "V144", "V145", 
"V146", "V147", "V148", "V149", "V150", "V151", "V152", "V153", 
"V154", "V155", "V156", "V157", "V158", "V159", "V160", "V161", 
"V162", "V163", "V164", "V165", "V166", "V167", "V168", "V169", 
"V170", "V171", "V172", "V173", "V174", "V175", "V176", "V177", 
"V178", "V179", "V180", "V181", "V182", "V183", "V184", "V185", 
"V186", "V187", "V188", "V189", "V190", "V191", "V192", "V193", 
"V194", "V195", "V196", "V197", "V198", "V199", "V200", "V201", 
"V202", "V203", "V204", "V205", "V206", "V207", "V208", "V209", 
"V210", "V211", "V212", "V213", "V214", "V215", "V216", "V217", 
"V218", "V219", "V220", "V221", "V222", "V223", "V224", "V225", 
"V226", "V227", "V228", "V229", "V230", "V231", "V232", "V233", 
"V234", "V235", "V236", "V237", "V238", "V239", "V240", "V241", 
"V242", "V243", "V244", "V245", "V246", "V247", "V248", "V249", 
"V250", "V251", "V252", "V253", "V254", "V255", "V256", "V257", 
"V258", "V259", "V260", "V261", "V262", "V263", "V264", "V265", 
"V266", "V267", "V268", "V269", "V270", "V271", "V272", "V273", 
"V274", "V275", "V276", "V277", "V278", "V279", "V280", "V281", 
"V282", "V283", "V284", "V285", "V286", "V287", "V288", "V289", 
"V290", "V291", "V292", "V293", "V294", "V295", "V296", "V297", 
"V298", "V299", "V300", "V301", "V302", "V303", "V304", "V305", 
"V306", "V307", "V308", "V309", "V310", "V311", "V312", "V313", 
"V314", "V315", "V316", "V317", "V318", "V319", "V320", "V321", 
"V322", "V323", "V324", "V325", "V326", "V327", "V328", "V329", 
"V330", "V331", "V332", "V333", "V334", "V335", "V336", "V337", 
"V338", "V339", "V340", "V341", "V342", "V343", "V344", "V345", 
"V346", "V347", "V348", "V349", "V350", "V351", "V352", "V353", 
"V354", "V355", "V356", "V357", "V358", "V359", "V360", "V361", 
"V362", "V363", "V364", "V365", "V366", "V367", "V368", "V369", 
"V370", "V371", "V372", "V373", "V374", "V375", "V376", "V377", 
"V378", "V379", "V380", "V381", "V382", "V383", "V384", "V385", 
"V386", "V387", "V388", "V389", "V390", "V391", "V392", "V393", 
"V394", "V395", "V396", "V397", "V398", "V399", "V400", "V401", 
"V402", "V403", "V404", "V405", "V406", "V407", "V408", "V409", 
"V410", "V411", "V412", "V413", "V414", "V415", "V416", "V417", 
"V418", "V419", "V420", "V421", "V422", "V423", "V424", "V425", 
"V426", "V427", "V428", "V429", "V430", "V431", "V432", "V433", 
"V434", "V435", "V436", "V437", "V438", "V439", "V440", "V441", 
"V442", "V443", "V444", "V445", "V446", "V447", "V448", "V449", 
"V450", "V451", "V452", "V453", "V454", "V455", "V456", "V457", 
"V458", "V459", "V460", "V461", "V462", "V463", "V464", "V465", 
"V466", "V467", "V468", "V469", "V470", "V471", "V472", "V473", 
"V474", "V475", "V476", "V477", "V478", "V479", "V480", "V481", 
"V482", "V483", "V484", "V485", "V486", "V487", "V488", "V489", 
"V490", "V491", "V492", "V493", "V494", "V495", "V496", "V497", 
"V498", "V499", "V500", "V501", "V502", "V503", "V504", "V505", 
"V506", "V507", "V508", "V509", "V510", "V511", "V512", "V513", 
"V514", "V515", "V516", "V517", "V518", "V519", "V520", "V521", 
"V522", "V523", "V524", "V525", "V526", "V527", "V528", "V529", 
"V530", "V531", "V532", "V533", "V534", "V535", "V536", "V537", 
"V538", "V539", "V540", "V541", "V542", "V543", "V544", "V545", 
"V546", "V547", "V548", "V549", "V550", "V551", "V552", "V553", 
"V554", "V555", "V556", "V557", "V558", "V559", "V560", "V561", 
"V562", "V563", "V564", "V565", "V566", "V567", "V568", "V569", 
"V570", "V571", "V572", "V573", "V574", "V575", "V576", "V577", 
"V578", "V579", "V580", "V581", "V582", "V583", "V584", "V585", 
"V586", "V587", "V588", "V589", "V590", "V591", "V592", "V593", 
"V594", "V595", "V596", "V597", "V598", "V599", "V600"), class = "factor"), 
    x = c(5.84126435311191, 6.52115710238086, 6.49487491949601, 
    6.99883466557098, 6.41879927902031, 6.16347484854696, 6.85244707266639, 
    6.62205725006152, 6.64060115714898, 5.91757648144121, 6.67911063520372, 
    6.58552166439696, 6.79235791736873, 6.45654297139256, 6.2151286550863, 
    6.6896657625171, 6.71961067420074, 6.85356710947501, 5.96302096955588, 
    6.67911063520372, 6.65188243391731, 6.75262117715717, 6.31497605596624, 
    6.26658312058862, 6.68996000619905, 6.56242316701945, 6.9153599044858
    ), Age = c("Juvenile", "Juvenile", "Juvenile", "Juvenile", 
    "Juvenile", "Juvenile", "Juvenile", "Juvenile", "Juvenile", 
    "Juvenile", "Juvenile", "Juvenile", "Juvenile", "Juvenile", 
    "Juvenile", "Juvenile", "Juvenile", "Juvenile", "Juvenile", 
    "Juvenile", "Juvenile", "Juvenile", "Juvenile", "Juvenile", 
    "Juvenile", "Juvenile", "Juvenile"), Year = c("2010", "2010", 
    "2010", "2010", "2010", "2010", "2010", "2010", "2010", "2010", 
    "2010", "2010", "2010", "2010", "2010", "2010", "2010", "2010", 
    "2010", "2010", "2010", "2010", "2010", "2010", "2010", "2010", 
    "2010")), class = c("grouped_df", "tbl_df", "tbl", "data.frame"
), row.names = c(NA, -27L), vars = list(Iter), drop = TRUE, .Names = c("Iter", 
"x", "Age", "Year"), indices = list(0:8, 9:17, 18:26), group_sizes = c(9L, 
9L, 9L), biggest_group_size = 9L, labels = structure(list(Iter = structure(1:3, .Label = c("V1", 
"V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", 
"V12", "V13", "V14", "V15", "V16", "V17", "V18", "V19", "V20", 
"V21", "V22", "V23", "V24", "V25", "V26", "V27", "V28", "V29", 
"V30", "V31", "V32", "V33", "V34", "V35", "V36", "V37", "V38", 
"V39", "V40", "V41", "V42", "V43", "V44", "V45", "V46", "V47", 
"V48", "V49", "V50", "V51", "V52", "V53", "V54", "V55", "V56", 
"V57", "V58", "V59", "V60", "V61", "V62", "V63", "V64", "V65", 
"V66", "V67", "V68", "V69", "V70", "V71", "V72", "V73", "V74", 
"V75", "V76", "V77", "V78", "V79", "V80", "V81", "V82", "V83", 
"V84", "V85", "V86", "V87", "V88", "V89", "V90", "V91", "V92", 
"V93", "V94", "V95", "V96", "V97", "V98", "V99", "V100", "V101", 
"V102", "V103", "V104", "V105", "V106", "V107", "V108", "V109", 
"V110", "V111", "V112", "V113", "V114", "V115", "V116", "V117", 
"V118", "V119", "V120", "V121", "V122", "V123", "V124", "V125", 
"V126", "V127", "V128", "V129", "V130", "V131", "V132", "V133", 
"V134", "V135", "V136", "V137", "V138", "V139", "V140", "V141", 
"V142", "V143", "V144", "V145", "V146", "V147", "V148", "V149", 
"V150", "V151", "V152", "V153", "V154", "V155", "V156", "V157", 
"V158", "V159", "V160", "V161", "V162", "V163", "V164", "V165", 
"V166", "V167", "V168", "V169", "V170", "V171", "V172", "V173", 
"V174", "V175", "V176", "V177", "V178", "V179", "V180", "V181", 
"V182", "V183", "V184", "V185", "V186", "V187", "V188", "V189", 
"V190", "V191", "V192", "V193", "V194", "V195", "V196", "V197", 
"V198", "V199", "V200", "V201", "V202", "V203", "V204", "V205", 
"V206", "V207", "V208", "V209", "V210", "V211", "V212", "V213", 
"V214", "V215", "V216", "V217", "V218", "V219", "V220", "V221", 
"V222", "V223", "V224", "V225", "V226", "V227", "V228", "V229", 
"V230", "V231", "V232", "V233", "V234", "V235", "V236", "V237", 
"V238", "V239", "V240", "V241", "V242", "V243", "V244", "V245", 
"V246", "V247", "V248", "V249", "V250", "V251", "V252", "V253", 
"V254", "V255", "V256", "V257", "V258", "V259", "V260", "V261", 
"V262", "V263", "V264", "V265", "V266", "V267", "V268", "V269", 
"V270", "V271", "V272", "V273", "V274", "V275", "V276", "V277", 
"V278", "V279", "V280", "V281", "V282", "V283", "V284", "V285", 
"V286", "V287", "V288", "V289", "V290", "V291", "V292", "V293", 
"V294", "V295", "V296", "V297", "V298", "V299", "V300", "V301", 
"V302", "V303", "V304", "V305", "V306", "V307", "V308", "V309", 
"V310", "V311", "V312", "V313", "V314", "V315", "V316", "V317", 
"V318", "V319", "V320", "V321", "V322", "V323", "V324", "V325", 
"V326", "V327", "V328", "V329", "V330", "V331", "V332", "V333", 
"V334", "V335", "V336", "V337", "V338", "V339", "V340", "V341", 
"V342", "V343", "V344", "V345", "V346", "V347", "V348", "V349", 
"V350", "V351", "V352", "V353", "V354", "V355", "V356", "V357", 
"V358", "V359", "V360", "V361", "V362", "V363", "V364", "V365", 
"V366", "V367", "V368", "V369", "V370", "V371", "V372", "V373", 
"V374", "V375", "V376", "V377", "V378", "V379", "V380", "V381", 
"V382", "V383", "V384", "V385", "V386", "V387", "V388", "V389", 
"V390", "V391", "V392", "V393", "V394", "V395", "V396", "V397", 
"V398", "V399", "V400", "V401", "V402", "V403", "V404", "V405", 
"V406", "V407", "V408", "V409", "V410", "V411", "V412", "V413", 
"V414", "V415", "V416", "V417", "V418", "V419", "V420", "V421", 
"V422", "V423", "V424", "V425", "V426", "V427", "V428", "V429", 
"V430", "V431", "V432", "V433", "V434", "V435", "V436", "V437", 
"V438", "V439", "V440", "V441", "V442", "V443", "V444", "V445", 
"V446", "V447", "V448", "V449", "V450", "V451", "V452", "V453", 
"V454", "V455", "V456", "V457", "V458", "V459", "V460", "V461", 
"V462", "V463", "V464", "V465", "V466", "V467", "V468", "V469", 
"V470", "V471", "V472", "V473", "V474", "V475", "V476", "V477", 
"V478", "V479", "V480", "V481", "V482", "V483", "V484", "V485", 
"V486", "V487", "V488", "V489", "V490", "V491", "V492", "V493", 
"V494", "V495", "V496", "V497", "V498", "V499", "V500", "V501", 
"V502", "V503", "V504", "V505", "V506", "V507", "V508", "V509", 
"V510", "V511", "V512", "V513", "V514", "V515", "V516", "V517", 
"V518", "V519", "V520", "V521", "V522", "V523", "V524", "V525", 
"V526", "V527", "V528", "V529", "V530", "V531", "V532", "V533", 
"V534", "V535", "V536", "V537", "V538", "V539", "V540", "V541", 
"V542", "V543", "V544", "V545", "V546", "V547", "V548", "V549", 
"V550", "V551", "V552", "V553", "V554", "V555", "V556", "V557", 
"V558", "V559", "V560", "V561", "V562", "V563", "V564", "V565", 
"V566", "V567", "V568", "V569", "V570", "V571", "V572", "V573", 
"V574", "V575", "V576", "V577", "V578", "V579", "V580", "V581", 
"V582", "V583", "V584", "V585", "V586", "V587", "V588", "V589", 
"V590", "V591", "V592", "V593", "V594", "V595", "V596", "V597", 
"V598", "V599", "V600"), class = "factor")), class = "data.frame", row.names = c(NA, 
-3L), vars = list(Iter), drop = TRUE, .Names = "Iter"))

但不幸的是我收到了错误

layout_base中的错误(数据,行,drop = drop):   至少一个图层必须包含用于刻面的所有变量

但是如果我只运行代码:

ggplot(Data,aes(x=x))+
geom_density(aes(group=Iter),alpha=1,colour="gainsboro")

一切正常,我无法弄清楚facet语法会出现什么问题。

提前感谢您的答案

1 个答案:

答案 0 :(得分:1)

尝试删除facet_grid()中的因子:

ggplot(Data,aes(x=x))+
geom_density(aes(group=Iter),alpha=1,colour="gainsboro")+
facet_grid(Age ~ ., scales = "free") 

可以在ggplot

之前做as.factor(Age)