【发布时间】:2016-04-23 16:15:37
【问题描述】:
我想使用for loop 生成ggplots 的列表。
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]]
}
错误如下:
错误:所有 select() 输入必须解析为整数列位置。 以下不: * 我
我以这种方式测试了 for 循环中的每个i:
test %>% dplyr::select(rs644045_A,type,micro1) %>%
ggplot(aes(factor(type),log(micor1) )) +
geom_boxplot(aes(fill = factor(rs644045_A)))+
xlab('')+ylab('log abundance')
它单独工作,但为什么不能循环工作?
【问题讨论】:
-
test在哪里?请展示一个可重现的例子 -
我以为是语法问题:如何使for循环中的
i被识别为不带引号的原始名称?当我在 for 循环中测试每个i时,它单独工作。 -
尝试使用 select_ 而不是 select
-
@GeorgeDontas 是的,
select_在dplyr中完全有效,但i在ggplot的循环中仍然未被识别为原始名称:.... ...fill = factor(i).........