【发布时间】:2021-07-12 05:57:07
【问题描述】:
我认为这很容易......但找不到解决方案。 我正在尝试在 R 中生成一个 ggplot2,其中 col1 和 col2 之间具有相关性,点的大小与 col3 相关,形状与 col4 相关。 col3 和 col4 具有 NA/缺失值。运行下面的代码时,ggplot2 会删除没有匹配 col3 和/或 col4 的行,但是,我想保留这些和颜色代码。下面输出
示例数据框:
警告: 删除了 3 行包含缺失值 (geom_point)。
- 我尝试使用 is.na(df$col3 | df$col4) 创建另一个 geom_point,但这不起作用。
- 尝试添加 na.rm=FALSE
geom_point(aes(size=df$col3, col=df$col4), na.rm=FALSE)
- 试过了
scale_size(range = c(0.25,4), na.value = 0) #to give a 0 value to the na.value (although would rather not)
但是,对于#2 和#3,我以“忽略未知美学:na.rm”结束,而#1 给出了错误。 此外,这并不能解决 col4 形状也被删除的问题
ggplot(df, aes(x=df$col1, y=df$col2)) +
geom_point(aes(size=df$col3, col=df$col4), na.rm=FALSE) +
theme_classic() +
scale_size(range = c(0.25,4))
+-------------+-------------+-------------+----------+
| col1 | col2 | col3 | col4 |
+-------------+-------------+-------------+----------+
| 0.254393811 | 0.124242905 | NA | NA |
| 0.28223149 | 0.148601748 | 0.236953099 | CD8CTL |
| 0.205945835 | 0.074541695 | NA | NA |
| 0.199758631 | 0.103369485 | NA | CD8Mem |
| 0.2798128 | 0.109511863 | 0.396113132 | CD8STAT1 |
| 0.254616042 | 0.059495241 | 0.479590212 | CD8CTL |
| 0.197929395 | 0.10993698 | 0.272611442 | CD8CTL |
| 0.294888359 | 0.12319682 | 0.16069263 | CD8CTL |
| 0.191407446 | 0.086443936 | 0.36596486 | CD8CTL |
| 0.267533392 | 0.11240525 | 0.344659516 | CD8CTL |
+-------------+-------------+-------------+----------+
【问题讨论】:
-
完成。添加示例
-
对于 col1 和 col2 具有值但对于 col3 和 col4 不具有值的点,您希望显示什么?你还希望这些出现在情节上吗?如果是这样……他们会被标记为 NA,对吧?
-
是的。我希望所有 10 个点都出现
-
但是您希望如何在图例中标记它们?你想让它们出现在传说中吗?
-
不适用?任何类型的标签,只要不被移除。也许是灰色的?