我一直在处理此代码的变体:
library(ggplot2)
Compare = matrix(c(
0, 0, "Soil 1", "tF",
0.379268025, 5.555806214, "Soil 1", "tF",
0.961561989, 13.05580621, "Soil 1", "tF",
1.55418685, 20.55580621, "Soil 1", "tF",
0, 0, "Soil 2", "tF",
0.104297312, 1.581249799, "Soil 2", "tF",
0.705818262, 6.081249799, "Soil 2", "tF",
1.447379092, 10.5812498, "Soil 2", "tF",
0, 20, "Soil 1", "tf",
0.379268025, 13.1603086, "Soil 1", "tf",
0.961561989, 12.72354396, "Soil 1", "tf",
1.55418685, 12.60549558, "Soil 1", "tf",
0, 20, "Soil 2", "tf",
0.104297312, 10.51383279, "Soil 2", "tf",
0.705818262, 6.433709727, "Soil 2", "tf",
1.447379092, 5.82398083, "Soil 2", "tf",
0, 0, "Soil 1", "zf",
0.379268025, 205.7706005, "Soil 1", "zf",
0.961561989, 483.5483783, "Soil 1", "zf",
1.55418685, 761.3261561, "Soil 1", "zf",
0, 0, "Soil 2", "zf",
0.104297312, 23.25367352, "Soil 2", "zf",
0.705818262, 89.43014411, "Soil 2", "zf",
1.447379092, 155.6066147, "Soil 2", "zf"), nrow = 24, ncol = 4, byrow = TRUE)
plot = ggplot(as.data.frame(Compare),
aes(as.double(Compare[,1]), as.double(Compare[,2]), color = Compare[,3])) +
geom_point() + facet_grid(Compare[,4] ~ .)
plot
我的问题是facet_grid()
代码方面。如果我将其注释掉或删除它,它运行得很好,所以我知道我可以将我的问题隔离到与它有关的事情上。我想要完成的是一组垂直堆叠的三个面板,Compare[,1]
在 x 轴上,Compare[,2]
在 y 轴上,颜色基于Compare[,3]
(在每个面上为两种土壤类型生成一组点),以及三个根据 产生的刻面Compare[,4]
。
当我使用facet_grid()
包含在代码中运行时得到的错误是:
Error in layout_base(data, rows, drop = drop) :
At least one layer must contain all variables used for facetting
我觉得我的错误可能与强制双打和数据帧处理矩阵的初始形式有关,但不确定需要更改什么。