使用 2 个变量在 R 中创建热图
Creating a HeatMap in R with 2 Variables
我正在尝试在 R 中创建热图,以便可视化以下内容 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
包来绘制一张美国地图,以按颜色显示这些折扣级别的差异,但还没有想出一个好的方法。如果我能得到任何帮助,我将不胜感激,谢谢。
我最终将我的数据可视化如下:
首先,我在原始数据中添加了一列,以便可以将其与 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")
生成以下内容:
我正在尝试在 R 中创建热图,以便可视化以下内容 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
包来绘制一张美国地图,以按颜色显示这些折扣级别的差异,但还没有想出一个好的方法。如果我能得到任何帮助,我将不胜感激,谢谢。
我最终将我的数据可视化如下:
首先,我在原始数据中添加了一列,以便可以将其与 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")
生成以下内容: