Я пытаюсь сделать функциональные графики или мои лучшие 20 генов. Вот почему я создал список фреймов данных, эти фреймы данных существуют или разные столбцы содержат значения и имена. Одним из этих столбцов во фрейме данных является генный столбец. Мой код превращает первые 20 генов в графики функций. Но теперь у меня есть проблема в некоторых фреймах данных, которые существуют менее чем в 20 генах. Это приводит к тому, что мой код прерывается.
Поскольку я хочу максимум 5 функциональных графиков на странице, я не могу просто определить счетчик.
Спасибо за ввод.
Пример моего списка или фреймов данных listGroups
group1_2: 'data.frame': 68 obs. of 7 variables:
..$ p_val: num [1:68] 1.15 1.43 ...
..$ score: num [1:68] 15.5 27.14 ...
..$ gene: Factor w/ 68 levels "BRA1", "NED",...: 41 52 ...
group2_3: 'data.frame': 3 obs. of 7 variables:
..$ p_val: num [1:3] 1.15 1.43 ...
..$ score: num [1:3] 15.5 27.14 ...
..$ gene: Factor w/ 3 levels "BCL12", "DEF1",...: 41 52 ...
Код
groupNames <- c("cluster1_2","cluster2_3","cluster3_4","cluster4_5","cluster5_6")
for (i in 1:length(listGroups)) {
Grouplist <- listGroups[[i]]
genesList <- Grouplist['gene']
lengths(geneList)
print(groupNames[i])
# Make Featureplots for top20 DE genes per cluster_group
pdf(file=paste0(sampleFolder,"/Featureplots_cluster_",groupNames[i],"_",sampleName,".pdf"))
print(FeaturePlot(object = seuratObj, features = c(as.character(genesList[1:5,]))))
print(FeaturePlot(object = seuratObj, features = c(as.character(genesList[6:10,]))))
print(FeaturePlot(object = seuratObj, features = c(as.character(genesList[11:15,]))))
print(FeaturePlot(object = seuratObj, features = c(as.character(genesList[16:20,]))))
dev.off()
}