Извините заранее, если пост не понятен. Итак, у меня есть мой фрейм данных, 74 наблюдения и 43 столбца. Я провел кластерный анализ на них. Затем я получил 5 кластеров и назначил номер кластера каждой соответствующей строке. Теперь мой df имеет 74 строки (obs) и 44 переменных. И я хотел бы построить и увидеть в каждом кластере, какие переменные обогащены, а какие нет, для всех переменных.
Я хочу добиться этого с помощью ggplot. Моя воображаемая панель вывода должна иметь 5 коробочных графиков на строку и 42 графических строки, каждая строка будет описывать переменную, измеренную в наборе данных.
Пример набора данных (извините, он очень большой, поэтому я сделал пример, фактические значения отличаются)
df
ID EGF FGF_2 Eotaxin TGF G_CSF Flt3L GMSF Frac IFNa2 .... Cluster
4300 4.21 139.32 3.10 0 1.81 3.48 1.86 9.51 9.41 .... 1
2345 7.19 233.10 0 1.81 3.48 1.86 9.41 0 11.4 .... 1
4300 4.21 139.32 4.59 0 1.81 3.48 1.86 9.51 9.41 .... 1
....
3457 0.19 233.10 0 1.99 3.48 1.86 9.41 0 20.4 .... 3
5420 4.21 139.32 3.10 0.56 1.81 3.48 1.86 9.51 29.8 .... 1
2334 7.19 233.10 2.68 2.22 3.48 1.86 9.41 0 28.8 .... 5
str(df)
$ ID : Factor w/ 45 levels "4300"..... : 44 8 24 ....
$ EGF : num ....
$ FGF_2 : num ....
$ Eotaxin : num ....
....
$ Cluster : Factor w/ 5 levels "1" , "2"...: 1 1 1.....3 1 5
#now plotting
#thought I pivot the datafram
new_df <- pivot_longer(df[,2:44],df$cluster, names_to = "Cytokine measured", values_to = "count")
#ggplot
ggplot(new_df,aes(x = new_df$cluster, y = new_df$count))+
geom_boxplot(width=0.2,alpha=0.1)+
geom_jitter(width=0.15)+
facet_grid(new_df$`Cytokine measured`~new_df$cluster, scales = 'free')
Таким образом, код сгенерировал небольшую панель графиков, которые соответствуют моему воображаемому вывод. Но я вижу только 5 строк вместо 42.
Итак, возвращаясь к new_df, последние 3 столбца привлекают мое внимание:
Cluster Cytokine measured count
1 EGF 2.66
1 FGF_2 390.1
1 Eotaxin 6.75
1 TGF 0
1 G_CSF 520
3 EGF 45
5 FGF_2 4
4 Eotaxin 0
1 TGF 0
1 G_CSF 43
....
Так что, похоже, столбец номера кластера и количества правильно, в то время как измеренный цитокин просто повторял 5 имен переменных вместо 42 переменных, которые я хочу видеть.
Я думаю, что шаг преобразования таблицы неправильный, но я не совсем понимаю, что пошло не так и как почини это.
Пожалуйста, просветите меня.