【发布时间】:2018-01-18 11:24:54
【问题描述】:
这是示例数据:
structure(c(368113, 87747.35, 508620.5, 370570.5, 87286.5, 612728,
55029, 358521, 2802880, 2045399.5, 177099, 317974.5, 320687.95,
6971292.55, 78949, 245415.95, 50148.5, 67992.5, 97634, 56139.5,
371719.2, 80182.7, 612078.5, 367822.5, 80691, 665190.65, 28283.5,
309720, 2853241.5, 1584324, 135482.5, 270959, 343879.1, 6748208.5,
71534.9, 258976, 28911.75, 78306, 56358.7, 46783.5, 320882.85,
53098.3, 537383.5, 404505.5, 89759.7, 624120.55, 40406, 258183.5,
3144610.45, 1735583.5, 122013.5, 249741, 362585.35, 5383869.15,
23172.2, 223704.45, 40543.7, 68522.5, 43187.05, 29745, 356058.5,
89287.25, 492242.5, 452135.5, 97253.55, 575661.95, 65739.5, 334703.5,
3136065, 1622936.5, 131381.5, 254362, 311496.3, 5627561, 68210.6,
264610.1, 45851, 65010.5, 32665.5, 39957.5, 362476.75, 59451.65,
548279, 345096.5, 93363.5, 596444.2, 11052.5, 252812, 2934035,
1732707.55, 208409.5, 208076.5, 437764.25, 16195882.45, 77461.25,
205803.85, 30437.5, 75540, 49576.75, 48878, 340380.5, 43785.35,
482713, 340315, 64308.5, 517859.85, 11297, 268993.5, 3069028.5,
1571889, 157561, 217596.5, 400610.65, 5703337.6, 50640.65, 197477.75,
40070, 66619, 81564.55, 41436.5, 367592.3, 64954.9, 530093, 432025,
87212.5, 553901.65, 20803.5, 333940.5, 3027254.5, 1494468, 195221,
222895.5, 494429.45, 7706885.75, 60633.35, 192827.1, 29857.5,
81001.5, 112588.65, 68904.5, 338822.5, 56868.15, 467350, 314526.5,
105568, 749456.1, 19597.5, 298939.5, 2993199.2, 1615231.5, 229185.5,
280433.5, 360156.15, 5254889.1, 79369.5, 175434.05, 40907.05,
70919, 65720.15, 53054.5), .Dim = c(20L, 8L), .Dimnames = list(
c("Anne", "Greg", "thomas", "Chris", "Gerard", "Monk", "Mart",
"Mutr", "Aeqe", "Tor", "Gaer", "Toaq", "Kolr", "Wera", "Home",
"Terlo", "Kulte", "Mercia", "Loki", "Herta"), c("Day_Rep1",
"Day_Rep2", "Day_Rep3", "Day_Rep4", "Day2_Rep1", "Day2_Rep2",
"Day2_Rep3", "Day2_Rep4")))
我想进行一次不错的 PCA 分析。我希望第 2 天的复制品相互之间有很好的相关性,并且可以将第 2 天的复制品一起复制。我试图使用下面的代码进行一些分析:
## log transform
data_log <- log(data[, 1:8])
#vec_EOD_EON
dt_PCA <- prcomp(data_log,
center = TRUE,
scale. = TRUE)
library(devtools)
install_github("ggbiplot", "vqv")
library(ggbiplot)
g <- ggbiplot(dt_PCA, obs.scale = 1, var.scale = 1,
groups = colnames(dt_PCA), ellipse = TRUE,
circle = TRUE)
g <- g + scale_color_discrete(name = "")
g <- g + theme(legend.direction = 'horizontal',
legend.position = 'top')
print(g)
但是,输出不是我想要的:
但我正在寻找类似的东西:
我想为数据中的每一行使用点,并为每个重复使用不同的颜色。为 Day 复制和 Day2 使用相似的颜色会很酷。
用ggplot获取数据:
【问题讨论】:
-
我不明白你的问题。是关于情节,即你想知道如何创建彩色点吗?还是关于没有显示不同组的 PCA?
-
这个想法是使用颜色将它们绘制为不同的组。如您所见,有一个实验。假设 Day 是对照,Day2 是治疗。对于他们每个人,我都有四个重复。我会假设 Day 的所有复制都将相互高度相关,并将作为一个组留在图上,并且在 Day2 的复制中也是如此。也许我弄错了,它看起来会有所不同。但是,从我绘制的图表中我看不到任何东西。如果您有更好的想法,您可以建议任何其他 PCA 方法。你知道我的目标。
-
所有变量都高度相关。在这种情况下,PCA 总是或多或少看起来像一条水平线
-
所以,请帮助我在我的 PCA 分析中添加颜色,如果您能提出任何其他方法来比较这些数据,我将不胜感激......并尝试可视化控制和治疗之间的潜在差异(第 2 天 vs 第 2 天)...
-
初始数据集中的列是变量,对吧?通过执行 PCA,您正在转换您的变量和给定的数据点,如
(PCA1, PCA2)不“属于”列:它是您的列的两种混合的组合。我认为从您描述问题的方式来看,可能存在一个缺失的部分,即不受 PCA 影响的附加标签(如在 iris 数据集中)。也许 PCA 不适合您。
标签: r