我是R的新手,我试图使用R中的VCD包生成一个马赛克图,但是我的代码会生成以下错误:
不建议在tibble上设置行名。 loglin(x,期望值,fit = TRUE,print = FALSE)中的错误:(列表)对象不能>被强制键入'double‘
我的数据如下:
商店16-24 25-34 35-49 50+
A 37 39 45 64
B 13 13 23 38
C 33 69 67 56
D 16 31 34 22
E 8 16 21 35
存储ID在第一列中,年龄范围在第2-4列中。
我生成马赛克图的代码是:
library(readr)
SandA = readr::read_csv("StoresAndAges.csv", col_names = TRUE)
SandA
library(vcd)
mosaic(SandA, shade=TRUE, legend=TRUE)我是全新的R,所以任何帮助我在正确的方向是感激的。
发布于 2017-11-08 15:28:51
马赛克期待的是一张桌子,而不是一张数据。SandA是一种数据格式。里面的东西看上去像一张桌子,但事实并非如此。当您有一个My_df和Age_Range列,以及填充了适当内容的行(每个观察一行)时,您可以这样做以获得镶嵌图:
mosaic(table(My_df$Store, My_df$Age_Range))或者,分步骤:
# first make a table that looks like your original data
My_table <-table(My_df$Store, My_df$Age_Range)
# My_table is a table, so it can be fed to mosaic()
mosaic(My_table)https://stackoverflow.com/questions/46866338
复制相似问题