library(ggplot2) > library(RColorBrewer) > mydata$AbsValue<-abs(mydata$value) > ggplot(mydata,aes(x=Var1,y=Var2))+ + geom_point(aes(size=AbsValue,fill=value),shape=21,colour=black)+ + scale_fill_gradientn(colours = c(brewer.pal(7,"Set1")[2],"white",brewer.pal(7,"Set1")[1]),na.value = NA)+ + scale_size_area(max_size = 12,guide=FALSE) 错误: 找不到对象'black'
时间: 2024-03-15 11:46:52 浏览: 96
感谢提供更多的代码。根据您提供的代码,问题可能是由于您在 `geom_point` 中使用了 `colour=black`,而 'black' 对象不被认为是一个有效的颜色名称。相反,您可以使用 `color="black"` 或 `colour="black"`,这将指定点的边框颜色为黑色。
请尝试更改 `geom_point` 行如下:
```
geom_point(aes(size=AbsValue,fill=value),shape=21,colour="black")
```
这应该解决错误并绘制出您的散点图。
相关问题
mydata$AbsValue<-abs(mydata$value) > ggplot(mydata,aes(x=Var1,y=Var2))+ + geom_point(aes(size=AbsValue,fill=value),shape=21,colour=black)+ + scale_fill_gradientn(colours = c(brewer.pal(7,"Set1")[2],"white",brewer.pal(7,"Set1")[1]),na.value = NA)+ + scale_size_area(max_size = 12,guide=FALSE) 错误: 找不到对象'black'
根据您提供的代码,有一个错误在于您在 `geom_point` 中使用了 `colour=black`,而R无法找到对象'black'。这通常发生在您没有安装所需的软件包或未正确加载所需的软件包时,例如,您需要在代码中加载 `ggplot2` 和 `RColorBrewer` 包。
请尝试在代码的开头加上以下代码:
```
library(ggplot2)
library(RColorBrewer)
```
这将确保所需的软件包已加载并在代码中可用。
R语言为什么用mydata$CMM_15 <- dplyr::recode(mydata$CMM_15,“TRUE”=“1”,“FALSE”=“0”)重新赋值后,FALSE=9844,0=8187,数量不一样了怎么解决
在R语言中,`dplyr::recode()`函数通常用于将一个变量的值替换为新的值。在你的例子中,看起来原始的`TRUE`和`FALSE`被分别映射到了`"1"`和`"0"`,但是在之后的操作中,`FALSE`被错误地赋值成了`9844`,`0`变成了`8187`,这说明你在重新赋值时使用了错误的对应规则。
这种情况可能是由于以下原因造成的:
1. 错误的编码:你可能在输入`FALSE`和`0`的新值时直接输入了数值而非对应的字符形式。
2. 数据类型问题:如果`CMM_15`原本就是整数类型并且你在重新赋值时没有注意到这一点,那么`FALSE`和`0`会被自动转换为相应的数值。
3. 数据清洗错误:在数据预处理过程中可能误操作导致了值的改变。
要解决这个问题,你需要检查以下几个步骤:
1. 确认新值是否按照预期输入,即`FALSE`应为字符形式`"FALSE"`,`0`也应为字符形式`"0"`。
2. 使用`str()`函数检查`CMM_15`的当前数据类型,如果是数值类型,需要先将其转换回字符再进行重新编码。
3. 检查之前的数据处理历史,确认没有其他可能导致值更改的操作。
修复后的代码示例:
```R
# 检查并确保新值为字符
new_values <- list(TRUE = "1", FALSE = "0")
# 将CMM_15转换为字符类型,然后再进行recode
mydata$CMM_15_corrected <- as.character(mydata$CMM_15)
mydata$CMM_15 <- dplyr::recode(mydata$CMM_15_corrected, new_values)
# 或者,如果CMM_15本来就是字符,可以直接用下面的代码
mydata$CMM_15 <- dplyr::recode(mydata$CMM_15, TRUE = "1", FALSE = "0")
# 再次检查数据,确保数量正确
table(mydata$CMM_15)
```
阅读全文
相关推荐
















