我试图使用矩阵形式的数字类型数据生成分组条形图。我正在提取的数据框架将数据存储为字符串,所以我还需要将数据转换为数字类型。
生成向量
wt250 <- c(df$WT.250,(df$X==“Ifng”)),as.numeric(df$WT.250(df$X==“Prdm1”)),as.numeric(df$WT.250(df$X==“Il2ra”)),as.numeric(df$WT.250(df$X==“Cd69”)) wt50 <- c(as.numeric(df$WT.50(df$X==“Ifng”)),as.numeric(df$WT.50(df$X==“df$X==”)),as.numeric(df$WT.50(df$X==“en20”)),df($WT.50(#EN20#)),As.numeric(df$WT.50(df$X==“Cd69”))、wt10 <- c(as.numeric(df$WT.10(df$X==“Ifng”))、as.numeric(df$WT.10(df$X==“Prdm1”))、as.numeric(df$WT.10(df$X==“Il2ra”))、as.numeric(df$WT.10(df$X==“Cd69”))
生成矩阵
M <-矩阵(c(wt250,wt50,wt10),nrow=3,ncol=4,byrow = TRUE)
关于条形图细节的向量
名称<- c("WT-250“、"WT-50”、"WT-10")颜色<- c(“红色”、“橙色”、“黄色”、“绿色”)
绘制条形图
barplot(m,main = "Genes",ylab =“集中度”,names.arg =名称,col = colors,beside = TRUE)
我期望一个分组条形图(多个相互相邻的条形图)在x轴上使用WT-250、WT-50和WT-10,其中4条分别为红色、橙色、黄色和绿色。相反,我得到以下错误消息: error in -0.01 * height :二进制运算符的非数值参数
发布于 2019-02-11 16:48:24
如果您希望快速修复,请替换您的矩阵创建:
m <- matrix(c(wt250, wt50, wt10), nrow=3, ncol=4, byrow = TRUE)通过
m <- matrix(c(wt250, wt50, wt10), nrow=4, ncol=3)这样你就可以在列中得到向量了。
用“冒号”代替“名称”。然后,您的代码应该可以工作,barplot将能够绘制您想要的。
例子:
mat <- matrix(1:12, nrow = 4, ncol = 3)
colnames(mat) <- letters[1:3]
rownames(mat) <- letters[23:26]
barplot(mat,col = c("red", "blue", "cyan", "orange"), beside = TRUE)

https://stackoverflow.com/questions/54635111
复制相似问题