问题背景:R4.2.1中,希望用ggplot包对一个表达矩阵画箱线图并用patchwork拼图时,提示找不到对象'group'
代码:
library(ggplot2)
library(dplyr)
library(patchwork)
a <- matrix(rnorm(60),ncol = 6,nrow = 10)
row.names(a) <- paste0('gene',seq(1:10))
colnames(a) <- paste0('sample',seq(1:6))
a <- as.data.frame(a)
class(a)
m <- rbind(a,c(rep('A',3),rep('B',3)))
row.names(m) <- c(paste0('gene',seq(1,10,1)),'group')
#以上,在创建一个矩阵后把它转为数据框,加了一个新的行,行名为‘group’
p=list()
for(i in 1:(nrow(m)-1)){
p[[i]] <- ggplot(m,mapping = aes_string(x="group" ,y=rownames(m)[i],color="group" ))+
geom_boxplot()+
geom_jitter()
}
wrap_plots(p,nrow = 2,guides = "collect")
运行结果及报错内容
Error in FUN(X[[i]], ...) : object 'group' not found
我的解答思路和尝试过的方法
1.代码中'group'是在英文状态下输入的;
我想要达到的结果
希望能解决找不到‘group’对象的问题