我正在尝试在R中创建一个HeatMap,以便可视化以下data。
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
软件包绘制一张美国地图,用颜色显示这些折扣级别的差异,但还没有提出一个很好的方法。非常感谢我能得到的任何帮助。谢谢。
答案 0 :(得分:2)
我最终可视化我的数据如下:
首先,我在原始数据中添加了一列,以便将其与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")