-1

我有两个数据帧,它们被 RMA 标准化为

  set.seed(1) 
  X <- data.frame(matrix(rnorm(20), nrow=10))
  Y <- data.frame(matrix(rnorm(20), nrow=10))

列是基因表达水平,行是基因。如何在单个图中绘制 X 的基因表达水平的协方差密度分布和基因表达水平 Y 的协方差分布。是这样的,但我想研究整个数据框的分布而不是列。在此处输入链接描述

我尝试使用

       plot (density(X), col="red",ylim=c(0,3.5),xlim=c(-1,2)) 
       lines (density(Y), col="green") 

但我得到一个错误

       Error in density.default() : argument 'x' must be numeric
4

1 回答 1

0

我仍然不确定,我理解正确。

set.seed(1) 
X <- data.frame(matrix(rnorm(20), nrow=10))
Y <- data.frame(matrix(rnorm(20), nrow=10))

#CV
d1 <- density(sapply(X, function(x) sd(x)/mean(x)))
d2 <- density(sapply(Y, function(x) sd(x)/mean(x)))

plot(d1, ylim=c(0,max(d1$y,d2$y)), xlim=range(d1$x,d2$x), col="green", xlab="", main="")
par(new=TRUE)
plot(d2, ylim=c(0,max(d1$y,d2$y)), xlim=range(d1$x,d2$x), col="red", xlab="", main="")
par(new=FALSE)

#covariance
d3 <- density(cov(X))
d4 <- density(cov(Y))

plot(d3, ylim=c(0,max(d3$y,d4$y)), xlim=range(d3$x,d4$x), col="green", xlab="", main="")
par(new=TRUE)
plot(d4, ylim=c(0,max(d3$y,d4$y)), xlim=range(d3$x,d4$x), col="red", xlab="", main="")
par(new=FALSE)
于 2013-09-17T11:45:58.927 回答