Использование для циклов для графики в R

У меня есть таблица с различными типами графиков и номерами кластеров, по которым они сортируются. Таблица выглядит так:

'data.frame':   80 obs. of  16 variables:
 $ GS_CT_HC_NO: Factor w/ 16 levels "GS_CT_HC_NO",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ CT_HC_NO   : Factor w/ 8 levels "CT_HC_NO","CT_HC_SW",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ GS_CT_HC   : Factor w/ 8 levels "GS_CT_HC","GS_CT_LC",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ GS_HC_NO   : Factor w/ 8 levels "GS_HC_NO","GS_HC_SW",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ GS_CT_NO   : Factor w/ 8 levels "GS_CT_NO","GS_CT_SW",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ CT_HC      : Factor w/ 4 levels "CT_HC","CT_LC",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ CT_NO      : Factor w/ 4 levels "CT_NO","CT_SW",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ GS_CT      : Factor w/ 4 levels "GS_CT","GS_FT",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ GS_HC      : Factor w/ 4 levels "GS_HC","GS_LC",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ GS_NO      : Factor w/ 4 levels "GS_NO","GS_SW",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ HC_NO      : Factor w/ 4 levels "HC_NO","HC_SW",..: 1 1 1 1 1 2 2 2 2 2 ...
 $ NO         : Factor w/ 2 levels "NO","SW": 1 1 1 1 1 2 2 2 2 2 ...
 $ HC         : Factor w/ 2 levels "HC","LC": 1 1 1 1 1 1 1 1 1 1 ...
 $ GS         : Factor w/ 2 levels "GS","SS": 1 1 1 1 1 1 1 1 1 1 ...
 $ CT         : Factor w/ 2 levels "CT","FT": 1 1 1 1 1 1 1 1 1 1 ...
 $ ClusterNr  : int  4 5 2 4 1 4 3 3 4 4 ...

Теперь я создал Mosaicplot с пакетом vcd в R из GS_CT_HC_NO (первый столбец) и N Cluster со следующим кодом:

mosaic(ClusterNr ~ GS_CT_HC_NO, data = groups, shade = TRUE, highlighting_fill = 
terrain.colors(5), labeling_args = list(tl_labels = FALSE, clip = FALSE, tl_varnames = TRUE,
pos_labels = "center", set_varnames = c(GS_CT_HC_NO = "Plot Class", ClusterNr = "Cluster"),
rot_labels = c(0, 0, 0, 90), gp_labels = (gpar(fontsize = 8)), just_labels = "left"))

Я хочу создать такой график для всех других комбинаций типов графиков, используя цикл for, но когда я попытался с

for(j in 1:dim(groups[,-16])[2]) {

mosaic(ClusterNr ~ j, data = groups, shade = TRUE, highlighting_fill = 
terrain.colors(5), labeling_args = list(tl_labels = FALSE, clip = FALSE, tl_varnames =TRUE,
 pos_labels = "center", set_varnames = c(j = "Plot Class", ClusterNr = "Cluster"),
 rot_labels = c(0, 0, 0, 90), gp_labels = (gpar(fontsize = 8)), just_labels = "left"))

}

Я получил ошибку:

Error in model.frame.default(formula = ~j + ClusterNr, data = groups) : 
 Variablenlängen sind unterschiedlich (gefunden für 'ClusterNr')

Последняя часть кода ошибки означает, что длина переменных отличается (особенно для переменной 'ClusterNr')

Кто-нибудь может помочь мне найти правильный рабочий цикл с возможностью сохранить каждый график в формате JPEG?

Ура, Свен!

0 ответов

Другие вопросы по тегам