使用R对熔化的变量执行PCA
我有一个数据集,其中我测量了21个基因的基因表达,还测量了其他3个分析的结果。我测量了8个不同的克隆体。我也在5天内测量了这些 然而,我并没有每天测量每一个基因或分析,也没有测量每一个克隆。所以我有不同长度的数据集。为了方便地将它们组合成一个大数据集,为了对它们执行PCA,我融合了每个数据集,然后对它们进行行绑定。然后我将所有值标准化。我现在有了一个如下所示的数据集 我想做的是一个PCA,其中“组”中的每个因子都在PCA中计算。然后,我想创建图形,其中不同颜色的数据点表示不同的“克隆”或“天数”。我已将我的悲伤尝试粘贴到下面,以使其正常工作。任何帮助都将不胜感激使用R对熔化的变量执行PCA,r,pca,reshape2,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)
set.seed(1)
#为数据集创建变量
克隆您能否进一步阐述您所说的“在PCA中计算组中的每个因素”
?是否要在每个组中运行单独的PCA?或者你是在寻找PCA与组的级别一致吗?我会让PCA与组的级别一致。因此,上面数据集中的所有数据都将被使用。考虑到数据的结构,使用聚类技术将更有意义。主成分分析本质上是一种对具有一定方差水平的变量进行分组的方法——这不适用于这种形式的数据。首先,请查看hclust()
或kmeans()
。您能否详细说明“PCA中计算了组中的每个因素”的含义?是否要在每个组中运行单独的PCA?或者你是在寻找PCA与组的级别一致吗?我会让PCA与组的级别一致。因此,上面数据集中的所有数据都将被使用。考虑到数据的结构,使用聚类技术将更有意义。主成分分析本质上是一种对具有一定方差水平的变量进行分组的方法——这不适用于这种形式的数据。请查看hclust()
或kmeans()
,了解一个开始。