R 箱线图/点图以显示差异
我有如下数据:R 箱线图/点图以显示差异,r,R,我有如下数据: structure(c(170007558.204312, 3151225505.1608, 3228057474.07417, 131519574.092116, 2149477968.81888, 1215136556.10718, 160433707.919651, 5956246992.50776, 2558167135.01689, 3245672969.97675, 169100005.594611,
structure(c(170007558.204312, 3151225505.1608, 3228057474.07417,
131519574.092116, 2149477968.81888, 1215136556.10718, 160433707.919651,
5956246992.50776, 2558167135.01689, 3245672969.97675, 169100005.594611,
354825870.40362, 1576805307.20395, 416870647.054276, 3399878725.25131,
370231854.581136, 1122345506.21081, 2305206508.74322, 2232159732.1229,
47308024.505238, 1241395335.9693, 2436980532.07484, 1128618969.34889,
3100422173.38636, 288672329.474137, 2987525983.71596, 3287998115.95645,
152127227.856302, 1994141536.64711, 1239229228.43808, 145289220.860244,
5376086563.26477, 2288378963.83637, 3084446977.22353, 63805766.33001,
336627137.967236, 1459357039.40439, 338887231.409886, 2712985868.45896,
351047105.326338, 1097447659.97404, 2042978821.82768, 2197665385.69067,
38049639.2725552, 1145898075.14945, 2394369287.02634, 941453724.349293,
2879533609.52787), .Dim = c(24L, 2L), .Dimnames = list(c("Mark",
"Chris", "Tom", "Tim", "Hank", "Taylor",
"Moniqe", "Rasp", "Greg", "Mephist", "Daniel",
"Moussa", "Ivan", "Treate", "Argen", "Tupol",
"Gotrek", "Marcel", "Gotae", "Ernsten", "Alfred",
"Katrin", "Paul", "Marten"), NULL))
我想在列1
和2
之间进行两两比较。重要的是,所有这些行都以某种方式创建了一个实体。因此,一般来说,两组成员会进行比较。我只是想证明这些团体的成员真的很相似。我考虑过简单的箱线图/点线图,但他妈的如何规范化这些数据以将所有内容放在一个图上?你还有其他的比较吗?如何将两个数据集中的数字放入一个图形中
编辑:
只是忘了提一下,我希望避免计算它们之间的比率并绘制输出。您可以尝试
library(reshape2)
dl <- melt(d)
plot(dl[,2], dl[,3])
for(i in 1:nrow(d)){
lines(1:2, c(d[i,]))
}
你可以在三角帆上写字
library(tidyverse)
library(ggrepel)
as.data.frame(d) %>%
add_column(Names=rownames(d)) %>%
gather(key, value, -Names) %>%
ggplot(aes(x=key, y=value,label=Names)) +
geom_boxplot(fill="grey") +
geom_line(aes(group=Names)) +
geom_text_repel(size=3, color="red") +
theme_classic()
另一种方法是旋转绘图并在y轴上显示名称
ggplot(dl, aes(x= value, y=Var1, col = factor(Var2))) + geom_point() + theme_bw()
您还可以尝试对数据进行中位数标准化,以便更好地比较个体。您可以尝试
library(reshape2)
dl <- melt(d)
plot(dl[,2], dl[,3])
for(i in 1:nrow(d)){
lines(1:2, c(d[i,]))
}
你可以在三角帆上写字
library(tidyverse)
library(ggrepel)
as.data.frame(d) %>%
add_column(Names=rownames(d)) %>%
gather(key, value, -Names) %>%
ggplot(aes(x=key, y=value,label=Names)) +
geom_boxplot(fill="grey") +
geom_line(aes(group=Names)) +
geom_text_repel(size=3, color="red") +
theme_classic()
另一种方法是旋转绘图并在y轴上显示名称
ggplot(dl, aes(x= value, y=Var1, col = factor(Var2))) + geom_point() + theme_bw()
你也可以尝试对数据进行中位数标准化,以便更好地比较个体。如果只是点对点,那又如何?正如我已经提到的,这听起来是个好主意,但Jimbou显示的图表看起来有点混乱。如果只是点对点,那怎么办?正如我已经提到的,这听起来是个好主意,但Jimbou显示的图表看起来有点混乱。它看起来像我可以接受的输出,但你不认为它有点太混乱了吗?如果我们能够在不完全弄乱的情况下为这些点贴上标签,那就太好了。您可以在
ggrepel
包中使用geom\u text\u repel
来完成this@Jimbou,两种解决方案看起来都不错。特别是,我感谢第二个!我只有一个问题。有没有办法处理重叠的点?你能让他们看得见吗?它看起来更像是第二个数据集丢失的点。在我的原始数据中,我遇到了这个问题。@ShaxiLiver使用geom_point(alpha=.5,size=5)
添加了一些alpha?看起来输出我可以接受,但你不觉得有点太乱了吗?如果我们能够在不完全弄乱的情况下为这些点贴上标签,那就太好了。您可以在ggrepel
包中使用geom\u text\u repel
来完成this@Jimbou,两种解决方案看起来都不错。特别是,我感谢第二个!我只有一个问题。有没有办法处理重叠的点?你能让他们看得见吗?它看起来更像是第二个数据集丢失的点。在我的原始数据中,我有这个问题。@ShaxiLiver使用geom_点(alpha=.5,size=5)添加一些alpha
?