这段代码为什么不能一行两列的排列:par(mfrow=c(1,2)) boxplot(Estate$Price[Estate$Township == 1], Estate$Price[Estate$Township == 2], Estate$Price[Estate$Township == 3], Estate$Price[Estate$Township == 4], Estate$Price[Estate$Township == 5], xlab = "Township No.", ylab = "Price") ggplot(data = Estate, mapping = aes(x = Township, y = Price)) + geom_point(color = "cornflowerblue", alpha = .8, size = 3)
时间: 2023-06-08 11:06:21 浏览: 169
这段代码不能一行两列的排列是因为其中包含两个不同种类的图形绘制函数,即基于R作图的boxplot和基于ggplot2的geom_point。在R中,由于这两种作图方法的绘图系统不同,因此不能通过mfrow参数将它们同时排列在一个画布上。如果希望同时显示这两个图形,需要将它们分别放在两个画布上,或者使用ggplot2的函数来绘制整个图形。
相关问题
opar<-par(no.readonly=TRUE) > par(mfrow=c(2.2),col=num2col(cars$重量))那错了
在这个R代码片段中,首先设置了图形设备参数`opar`,使其允许对图形环境进行修改(即解除`no.readonly`选项)。然后试图设置绘图参数`mfrow`,指定每行有2.2个小窗口,并尝试使用`col`参数,但这里的`col=num2col(cars$重量)`有问题。
`col`参数通常用于设置线的颜色,而`num2col`并不是R内置的设置颜色的方式,而且`cars$重量`看起来像是一个数值向量而非颜色值。`num2col`函数在这里应该是无效的,因为这不是一个合法的色彩选择操作。
正确的做法可能是先检查`cars$重量`是否适合用作颜色,如果需要,应将其转换为一个合适的数据类型(例如,使用`brewer.pal`来自颜色表,或者直接使用数字作为颜色索引),然后再设置`col`。另外,`mfrow`应该是一个整数向量,而不是包含小数的。
修复后的代码可能会是这样的:
```R
# 首先,可能需要将重量向量转换为颜色或其他合适的参数
colors <- brewer.pal(n = length(unique(cars$重量)), "Spectral") # 或者其他方法
# 然后设置mfrow
par(mfrow = c(2, 2), col = colors) # 假设2x2布局和对应的颜色数组
# 如果你需要使用num2col,请确认它是从正确的地方来的,且确实能提供你需要的颜色
# 但如果这不是一个合法的函数,上述代码应该更合适
```
Error: unexpected symbol in: "par(mfrow = c(1,2) cex1"
这个错误是因为在 `par` 函数的参数列表中缺少逗号。请在 `c(1,2)` 和 `cex1` 之间添加逗号,修改为以下代码:
```
par(mfrow = c(1,2), cex1)
```
这样就可以正确运行了。
阅读全文