gpt4 book ai didi

R:结合点阵图和排序数据

转载 作者:行者123 更新时间:2023-12-02 17:43:11 26 4
gpt4 key购买 nike

为了创建我的点图,我使用以下文本文件:

 ## filename  difference    RMSD
1bso.pdb 1.0 0.5645
1cj51.9.pdb 2.0 3.5596
1cj51.1.pdb 3.0 3.5573
3qzj.pdb 3.0 0.8302
1bsy.pdb 4.0 0.5387
1cj51.5.pdb 8.0 3.9864
2gj5.pdb 10.0 0.8446
1cj51.10.pdb 11.0 3.5914
1uz2.pdb 12.0 1.7741
2blg.pdb 12.0 0.5449

第一列是文件名,第二列是差异,第三列是 RMSD。数据已排序,因此差异是升序的。

我可以使用以下命令创建单独的点图:

# This plots the difference
library(lattice)
data <- read.table("~/Documents/Beta_test_area/pa.txt", header=F, sep="\t")
dotplot(V1~V2, xlim=c(0, 150), xlab="CCS Difference", data=data)

# This plots the RMSD
dotplot(V1~V3, xlim=c(0, 5), xlab="RMSD", data=data)

在图表中,Y 轴上的数据按文件名排序,并且数据未像文本文件中那样绘制,如何排序 Y 轴以反射(reflect)数据文件中的顺序?

我遇到的另一个问题是合并绘图。我怎样才能制作绘图,以便将绘图放在一行但超过两列。左侧为差异图,右侧为 RMSD 图。

最佳答案

@Roman 的第 #1 部分是正确的 - 这是一种稍微巧妙的方法,可以按照您想要的方式获取订单。

dat <- read.table(textConnection("
filename diff RMSD
1bso.pdb 1.0 0.5645
1cj51.9.pdb 2.0 3.5596
1cj51.1.pdb 3.0 3.5573
3qzj.pdb 3.0 0.8302
1bsy.pdb 4.0 0.5387
1cj51.5.pdb 8.0 3.9864
2gj5.pdb 10.0 0.8446
1cj51.10.pdb 11.0 3.5914
1uz2.pdb 12.0 1.7741
2blg.pdb 12.0 0.5449"),
header=TRUE)
dat <- transform(dat,filename=factor(as.character(filename),
levels=filename))

gridExtra 包中的 grid.arrange 函数可以方便地排列格子图:

library(lattice)
d1 <- dotplot(filename~diff, xlim=c(0, 150), xlab="CCS Difference", data=dat)

# This plots the RMSD
d2 <- dotplot(filename~RMSD, xlim=c(0, 5), xlab="RMSD", data=dat)

library(gridExtra)
grid.arrange(d1,d2,nrow=1)

或者(来自@Aaron):

library(latticeExtra)
c(d1,d2)

或者,正如 @Roman 建议的那样,您可以创建小倍数。

library(reshape)
m <- melt(dat)
dotplot(filename~value|variable,
scales=list(x=list(relation="free")), xlim=list(c(0,150), c(0,5)),
data=m)

或者

library(ggplot2)
g1 <- qplot(value,filename,data=m)+
facet_grid(.~variable,scale="free")+theme_bw()+
opts(panel.margin=unit(0,"lines"))

虽然在这里我真的不知道如何逐个面板设置 x 轴限制,除了做一些讨厌的事情,比如尝试适本地添加不可见点。

编辑:逐个面板缩放来自 Josh O'Brien,latticeExtra 来自 Aaron

关于R:结合点阵图和排序数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8386823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com