I am trying to visualize this dataset using the packages from the tidyverse collection: Mice Protein Expression | Kaggle
After importing the dataset, I tidied the data like so:
library(tidyverse)
#> Creating a table with the average expression level of each protein for each experimental group
DCN_byclass = group_by(Data_Cortex_Nuclear, class, Genotype) %>%
select(-Behavior, -Treatment, -MouseID) %>%
summarise_each(funs(mean(., na.rm = TRUE)))
#> Adding descriptions to each experimental group
classes = c('c-CS-s','c-CS-m','c-SC-s','c-SC-m','t-CS-s','t-CS-m','t-SC-s','t-SC-m')
desc = c('control mice, stimulated to learn, injected with saline',
'control mice, stimulated to learn, injected with memantine',
'control mice, not stimulated to learn, injected with saline',
'control mice, not stimulated to learn, injected with memantine',
'trisomy mice, stimulated to learn, injected with saline',
'trisomy mice, stimulated to learn, injected with memantine',
'trisomy mice, not stimulated to learn, injected with saline',
'trisomy mice, not stimulated to learn, injected with memantine')
class_desc = tibble(class = classes, description = desc)
DCN_byclass = left_join(DCN_byclass, class_desc, by = 'class')
#> Rearranging the table in a more logical order
DCN_byclass = select(DCN_byclass, class, description, Genotype, everything())
Afterwards, I wished to make 77 bar plots, plotting the variable, Genotype, against 77 other variables in the dataset, making an individual plot for each pair. I tried to accomplish this by making a for loop that would create these plots and store them in an empty list:
#> Creating a list that contains each protein and its expression levels as separateitems
columns = list()
for (i in 1:77) {
columns[i] = DCN_byclass[,(i+3)]
}
#> Generating an empty list to store plots in
plots = list()
#> Creating 77 bar plots, each with the experimental groups plotted against an individual protein's expression levels
for (i in 1:77) {
yvalues = columns[[i]]
plots[[i]] = ggplot(data = DCN_byclass, mapping = aes(Genotype, y = yvalues, fill = class)) +
geom_col(position = 'dodge')
}
I then tried viewing one of the plots by subsetting the list, like so:
plots[1]
And this plot was successfully shown:
However, it seems the same plot is produced by subsetting the list, plots, with any other number. All 77 plots in the list are identical. Does anyone know why this might be?