我正在学习在R中编程并感谢任何帮助。我想将列值与引用匹配并生成热图,其中填充是总频率值,如下所示。我还想保持“from.aa”
给出的x值的顺序参考
<button type='button'>Click Me</button>
数据集
Y_aa <- ("ILVFMCAGPTSYWQNHEDKR*X")
yaxis_aa <-strsplit(Y_aa,"")[[1]]
from.aa值是位置值,因此顺序必须与数据集中给出的相同。
目前,我使用ggplot来做热图,但是没有保留x轴的顺序。
> c_1
from.aa to.aa total.freq
1 R S 0.7368421
2 W * 0.7368421
3 G G 0.7368421
4 E D 0.7368421
5 S G 0.7368421
6 P Q 0.7368421
7 P Q 0.7368421
8 G G 0.7368421
9 P T 0.7368421
10 P T 0.7368421
11 S S 0.7368421
12 A A 0.7368421
13 A P 0.7368421
14 A P 0.7368421
15 Q * 0.7368421
16 Q * 0.7368421
17 V V 0.7368421
18 S E 0.7368421
19 S E 0.7368421
20 S E 0.7368421
21 L L 0.7368421
22 L L 0.7368421
23 R L 0.7368421
24 R L 0.7368421
所以我的问题是;是否可以将total.freq值的热图作为填充,并且可以保留x轴(“from.aa”)的顺序,而y轴值即“to.aa”可以映射到参考值,即“ yaxis_aa“
答案 0 :(得分:0)
我能够获得一些情节,但它仍然缺少两个重要的数据元素。
在此之前,我在我的数据集中添加了一个列,用于from.aa数据,因为它的位置,我创建了一个列0:length(c_l $ from.aa)并将其用作我的x轴。在此数据集中,长度为123.
我使用的另一件事是
c_melt=melt(c_1, id.var = c('pos.aa','from_aa', 'to_aa'))
然而,在热图中,from.aa和to.aa的所有值都没有显示在热图上
ggplot(data = c_melt, aes(x=pos.aa, y=to.aa, fill=value, color=value)) +
geom_tile(aes(fill = value)) +
geom_text(aes(label = round(value, 2))) +
scale_fill_gradient(low = "light blue", high = "red") +
scale_x_continuous(breaks=c(0:123), labels=factor(0:123)) +
ylab("aa Change") +
xlab("Reference aa by position") +
theme(legend.title = element_text(size = 10),
legend.text = element_text(size = 2),
plot.title = element_text(size=12),
axis.title=element_text(size=14,face="bold"),
axis.text.x = element_text(angle = 90, hjust = 1)) +
labs(fill = "value")
热图如下;
任何改进此热图的建议都会非常有用。此外,我打算使用from.aa值
将辅助标签添加到x轴