R中使用plotly绘制HairEyeColor数据集出现asJSON报错如何解决
报错原因
HairEyeColor是三维列联表,维度依次为发色、瞳色、性别,HairEyeColor[,,2]提取的是女性群体的发色-瞳色二维交叉计数矩阵,属于二维数组结构plot_ly的x参数直接接收二维矩阵时,内部调用asJSON做数据序列化无法适配该多维结构,就会抛出方法签名不匹配的报错
解决方法
先按发色维度对同发色的计数做求和汇总,得到一维的各发色总频率向量后再绘图,正确代码如下:
library(plotly) # 提取女性群体数据,按发色维度求和得到各发色总人数 female_hair_freq <- rowSums(HairEyeColor[,,2]) # 绘制柱状图,x轴为发色名称,y轴为对应人数 plot_ly(x = names(female_hair_freq), y = female_hair_freq, type = 'bar')
运行后可得到预期效果图:
内容的提问来源于stack exchange,提问作者Max Mustermann
相关产品推荐
相关产品推荐

