繁体   English   中英

用2个变量在R中创建HeatMap

[英]Creating a HeatMap in R with 2 Variables

我正在尝试在R中创建HeatMap以便可视化以下数据

State    Discount
LA      0.118749612
MO      0.127916129
IA      0.129584375
NE      0.138754902
GA      0.146281061

除了简单地使用内置heatmap()函数外,我没有太多经验。 但是,由于状态变量是一个因素,因此不起作用。 我的下一个想法是尝试使用ggplot2

ggplot(data = dat, aes(State))+ geom_tile( fill = dat$Discount)

但是我一直收到这个错误,我不完全了解。

Error in eval(expr, envir, enclos) : object 'y' not found
In addition: Warning messages:
1: In min(x, na.rm = na.rm) :
  no non-missing arguments to min; returning Inf
2: In max(x, na.rm = na.rm) :
  no non-missing arguments to max; returning -Inf
3: In min(diff(sort(x))) : no non-missing arguments to min; returning Inf 

我不一定要确定热图是可视化数据的最佳方法,这只是我的第一个想法。 我也正在研究使用mapdata包绘制一张美国地图,以颜色显示这些折扣水平的差异,但目前还没有找到一种好的方法。 非常感谢,我能得到的任何帮助。

我将数据可视化如下:

首先,我在原始数据中添加了一个列,以便可以将其与R中可用的状态数据合并。因此,我的数据文件(称为GregUSHeatMap )现在看起来像这样:

State          Code   Discount
vermont         VT    0.02
maine           ME    0.025
massachusetts   MA    0.042073333
south dakota    SD    0.074503704

然后我运行以下命令:

require(mapdata)
states <- map_data("state")
merge <- merge(states, GregUSheatmap, by = "region")
merge <- arrange(merge, order)
heatmap1 <- qplot(long, lat, data = merge, group = group, fill = Discount, geom = "polygon")

产生以下内容: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM