使用R在融合变量

时间:2017-04-14 05:34:51

标签: r pca reshape2

我有一个数据集,我测量了21个基因的基因表达,并测量了其他3个测定的输出。我已经测量了8个不同克隆的这些。我也在5个不同的日子测量了这些。

然而,我没有每天或每个克隆测量每个基因或测定。所以我有不同长度的数据集。为了轻松地将它们组合成一个大型数据集,在它们上执行PCA,我将每个数据集融合,然后对它们进行行绑定。然后我标准化了所有的价值观。我现在有一个如下所示的数据集。

我想要做的是PCA,其中“组”中的每个因子都是在PCA中计算的。然后,我想创建图表,其中不同颜色的数据点代表不同的“克隆”或“天”。我已经粘贴了我在下面工作的悲惨尝试。任何帮助将不胜感激!

set.seed(1)

# Creates variables for a dataset
    clone <- sample(c(rep(c("1A","2A","2B","3B","3C"), each=100),rep(c("1B","2C","3A"), each=200)))
    day <- sample(c(rep(1,225),rep(2,25),rep(3,600),rep(4,25),rep(5,225)))
    group <- sample(c(rep(paste0("gene",1:21), each=42),rep("assay1",90),rep("assay2",80),rep("assay3",48)))
    value = rnorm(1100, mean=0, sd=3)

# Create data frame from variables
    df <- data.frame(clone,day,group,value)
    df$day <- as.factor(df$day)

# Create PCA data
        df_PCA <- prcomp(clone + day + group ~ value, data = df, scale = FALSE)

# Graphing results of PCA
        par(mfrow=c(2,3))
            plot(df_PCA$x[,1:2], col=clone)
            plot(df_PCA$x[,1:2], col=day)
            plot(df_PCA$x[,1:3], col=clone)
            plot(df_PCA$x[,1:3], col=day)
            plot(df_PCA$x[,2:3], col=clone)
            plot(df_PCA$x[,2:3], col=day)

0 个答案:

没有答案