我在excel中有一个表,有100列和100行。该列从0%开始,直到100%。行的情况也是一样,从0%开始,一直到100%。这是一个双向敏感性分析,即当x(列中的变量)=10%和y(行中的变量)=30%时,哪种药物将是最优的。
我有一张100 * 100的桌子,桌子上散布着四种不同的药物的名称。我想把这些数据放入R中,并创建一个散点图,本质上是一个带有10000个小正方形的正方形。然后我想让R根据药物给每个方块着色,对于X和Y的组合来说,这是最优的。
我附上了一张虚拟数据的图像,在一个10x10的表格中显示了相同的示例。
希望你能帮上忙!
发布于 2019-11-16 06:04:54
您需要从准备数据开始--读入数据,使用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()

https://stackoverflow.com/questions/58884628
复制相似问题