Ошибка графика мозаики в R

Я новичок в R, и я пытаюсь сгенерировать мозаичный график, используя пакет VCD в R, но мой код генерирует следующую ошибку:

Задание имен строк в столбце не рекомендуется.

Ошибка в loglin(x, ожидаемый, fit = TRUE, print = FALSE): (список) объект не может быть> приведен к типу 'double'

Мой набор данных выглядит следующим образом:

Магазин 16-24 25-34 35-49 50+

A 37 39 45 64

B 13 13 23 38

С 33 69 67 56

Д 16 31 34 22

E 8 16 21 35

С идентификатором магазина в первом столбце и возрастами в столбцах 2-4.

Мой код для создания мозаичного графика:

library(readr)
SandA = readr::read_csv("StoresAndAges.csv", col_names = TRUE)
SandA
library(vcd)
mosaic(SandA, shade=TRUE, legend=TRUE)

Я новичок в R, поэтому любая помощь, указывающая мне правильное направление, приветствуется.

1 ответ

Mosaic ожидает таблицу, а не таблицу данных. SandA это датафрейм Содержимое выглядит как таблица, но это не так. Когда у вас есть My_df со столбцами Store и 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)
Другие вопросы по тегам