我有一个数据集,我测量了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)