具有非数值输出的热散点图
Heat scatter plot with non-numerical output
Image of excel data set
我在 excel 中有一个 table,有 100 列和 100 行。该列从 0% 开始,一直到 100%。该行也一样,从 0% 开始到 100%。这是一种双因素敏感性分析,即如果 x(列中的变量)=10% 且 y(行中的变量)=30%,则哪种药物最佳。
我有 100 x 100 table,四种不同药物的名称分散在 table 中。我想将这些数据导入 R 并创建一个散点图,基本上是一个包含 10000 个小方块的正方形。然后,我希望 R 根据最适合 X 和 Y 组合的药物为每个方块着色。
我附上了一张虚拟数据的图像,以 10 x 10 table 显示了相同的示例。
希望能帮到你!
您需要先准备数据——读入数据,使用 tidyverse
包中的 pivot_longer()
函数将列变成行,然后可能会做一些清理百分比。
在那之后,情节(使用 ggplot2
)本身可能非常简单。 geom_tile()
函数是创建正方形的函数。
library(tidyverse)
# Create test data
df <- expand_grid(x = 1:100, y = 1:100) %>%
mutate(drug = sample(LETTERS[1:4], size = 10000, replace = TRUE))
# Make the plot
df %>%
ggplot(aes(x, y, fill = drug)) +
geom_tile()
Image of excel data set
我在 excel 中有一个 table,有 100 列和 100 行。该列从 0% 开始,一直到 100%。该行也一样,从 0% 开始到 100%。这是一种双因素敏感性分析,即如果 x(列中的变量)=10% 且 y(行中的变量)=30%,则哪种药物最佳。
我有 100 x 100 table,四种不同药物的名称分散在 table 中。我想将这些数据导入 R 并创建一个散点图,基本上是一个包含 10000 个小方块的正方形。然后,我希望 R 根据最适合 X 和 Y 组合的药物为每个方块着色。
我附上了一张虚拟数据的图像,以 10 x 10 table 显示了相同的示例。
希望能帮到你!
您需要先准备数据——读入数据,使用 tidyverse
包中的 pivot_longer()
函数将列变成行,然后可能会做一些清理百分比。
在那之后,情节(使用 ggplot2
)本身可能非常简单。 geom_tile()
函数是创建正方形的函数。
library(tidyverse)
# Create test data
df <- expand_grid(x = 1:100, y = 1:100) %>%
mutate(drug = sample(LETTERS[1:4], size = 10000, replace = TRUE))
# Make the plot
df %>%
ggplot(aes(x, y, fill = drug)) +
geom_tile()