adiana adiana - 15 days ago 4x
R Question

Error with facet_grid in ggplot2

I am trying to execute the following code:

facet_grid(factor(Age) ~ ., scales = "free")

on these sample data:

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"))

but unfortunately I am getting the error

Error in layout_base(data, rows, drop = drop) :
At least one layer must contain all variables used for facetting

However if I run just the code:


everything works and I am not able to figure out what would be wrong with the facets syntax.

Thank you in advance for the answers


Try removing factor in your facet_grid():

facet_grid(Age ~ ., scales = "free") 

May be do as.factor(Age) before the ggplot