Ich möchte for loop
verwenden, um eine Liste von ggplots
zu generieren.Verwenden Sie für die Schleife in ggplot2, um eine Liste zu generieren
sig_snp<-c("rs644045_A","rs12997044_C","rs17739727_A")
p_re<-list()
for (i in sig_snp){
test %>% dplyr::select(i,type,micro1) %>%
ggplot(aes(factor(type),log(micor1))) +
geom_boxplot(aes(fill = factor(i)))+
xlab('')+ylab('log abundance')->p_re[[i]]
}
Die erro zeigt unter:
Error: All select() inputs must resolve to integer column positions. The following do not: * i
ich auf diese Weise jede i
in der for-Schleife haben getestet:
test %>% dplyr::select(rs644045_A,type,micro1) %>%
ggplot(aes(factor(type),log(micor1))) +
geom_boxplot(aes(fill = factor(rs644045_A)))+
xlab('')+ylab('log abundance')
Es funktionierte einfach, aber warum in der Schleife nicht funktionieren ?
Wo ist 'test'? Bitte zeigen Sie ein reproduzierbares Beispiel – akrun
[Info, wie man ein reproduzierbares Beispiel gibt] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610) – Jaap
Ich dachte Es war ein Syntaxproblem: Wie mache ich das 'i' in der for-Schleife so, dass es als roher Name ohne Anführungszeichen erkannt wird? Als ich jedes "i" in der for-Schleife testete, funktionierte es einzeln. – Ming