小编Dan*_*Cee的帖子

R heatmap.2 手动分组行和列

我有以下 MWE,我在其中制作了一个热图,而没有执行任何聚类和显示任何树状图。我想以比现在更好看的方式将我的行(基因)按类别分组在一起。

这是 MWE:

#MWE
library(gplots)
mymat <- matrix(rexp(600, rate=.1), ncol=12)
colnames(mymat) <- c(rep("treatment_1", 3), rep("treatment_2", 3), rep("treatment_3", 3), rep("treatment_4", 3))
rownames(mymat) <- paste("gene", 1:dim(mymat)[1], sep="_")
rownames(mymat) <- paste(rownames(mymat), c(rep("CATEGORY_1", 10), rep("CATEGORY_2", 10), rep("CATEGORY_3", 10), rep("CATEGORY_4", 10), rep("CATEGORY_5", 10)), sep=" --- ")
mymat #50x12 MATRIX. 50 GENES IN 5 CATEGORIES, ACROSS 4 TREATMENTS WITH 3 REPLICATES EACH
png(filename="TEST.png", height=800, width=600)
print(
heatmap.2(mymat, col=greenred(75),
      trace="none",
      keysize=1,
      margins=c(8,14),
      scale="row",
      dendrogram="none",
      Colv = FALSE,
      Rowv = FALSE,
      cexRow=0.5 + 1/log10(dim(mymat)[1]),
      cexCol=1.25,
      main="Genes grouped …
Run Code Online (Sandbox Code Playgroud)

grouping r colors legend heatmap

3
推荐指数
1
解决办法
1万
查看次数

R:circlize circos 图 - 如何以最小重叠绘制扇区之间不相连的区域

我有一个数据框,具有 4 组患者和细胞类型之间的共同特征。我有很多不同的功能,但共享的功能(存在于多个组中)只是其中几个。

我想制作一个马戏团图,反映不同组患者和细胞类型之间的共享特征之间的联系,同时给出每组中有多少不共享特征的想法。

在我看来,它应该是一个由 4 个部分组成的图(每组患者和细胞类型一个),它们之间有一些联系。每个扇区的大小应该反映组中特征的总数,并且该区域的大部分不应该与其他组连接,而是空的。

这是我到目前为止所拥有的,但我不希望部门专门针对每个功能,而只针对每组患者和细胞类型。

微量元素:

library(circlize)

patients <- c(rep("patient1",20), rep("patient2",10))
cell.types <- c(rep("cell1",12), rep("cell2",8),rep("cell1",6), rep("cell2",4))
features <- c(paste("feature",1:12,sep="_"), paste("feature",9:16,sep="_"), paste("feature",c(1,2,9,10,17,18),sep="_"), paste("feature",c(1,18,19,20),sep="_"))
dat <- data.frame(patient=patients, cell.type=cell.types, feature=features)
dat
dat <- with(dat, table(paste(patient,cell.type,sep='|'), feature))
dat

chordDiagram(as.data.frame(dat), transparency = 0.5)
Run Code Online (Sandbox Code Playgroud)

图。1

编辑!!

@m-dz 在他的答案中显示的实际上是我正在寻找的格式,4 个不同的病人/细胞类型组合的 4 个扇区,仅显示连接,而非连接的特征虽然没有显示,但应该考虑在内该部门的规模。

然而,我意识到我遇到的情况比上面 MWE 中的情况更复杂。

一个特征被认为出现在 2 个患者/细胞类型组中,不仅当它在 2 个组中相同时,而且当它相似时......(序列同一性高于阈值)。这样一来,我就裁员了……

患者 1-细胞 1 中的特征 A 可以连接到患者 2-细胞 1 中的特征 A,也可以连接到特征 B...对于患者 1-细胞 1,特征 A 只能计数一次(唯一计数),并扩展到患者 2- 中的 2 个不同特征细胞1。

请参阅下面的示例,更准确地了解我的实际数据,并看看使用此示例是否可以获得最终的 circos …

plot r circos circlize

3
推荐指数
1
解决办法
3573
查看次数

R:制作2个子集向量,以使值在索引方向上不同

我想用来根据相同数据设置2个向量子集replace=TRUE

即使两个向量都可以包含相同的值,但它们在相同的索引位置也不能相同。

例如:

> set.seed(1)
> a <- sample(15, 10, replace=T)
> b <- sample(15, 10, replace=T)
> a
 [1]  4  6  9 14  4 14 15 10 10  1
> b
 [1]  4  3 11  6 12  8 11 15  6 12
> a==b
 [1]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

在这种情况下,向量ab在索引1处包含相同的值(值=​​= 4),这对我来说是错误的。

有简单的方法可以纠正此问题吗?

并且可以在subset台阶上完成吗?

或者我应该经过一个循环检查逐个元素,如果值相同,进行其他选择的b[i],并再次检查,如果它是不相同的循环往复

非常感谢!

indexing element r vector subset

3
推荐指数
1
解决办法
51
查看次数

R,ggplot2:拟合曲线到散点图

我试图用ggplot2将曲线拟合到下面的散点图.

我找到了geom_smooth功能,但尝试不同的方法和跨度,我似乎从来没有得到正确的曲线...

这是我的散点图: TEST1

这是我最好的尝试: TEST2

任何人都可以得到更好的曲线,正确适合,看起来不那么摇摆?谢谢!

在下面找到MWE:

my.df <- data.frame(sample=paste("samp",1:60,sep=""),
                    reads=c(523, 536, 1046, 1071, 2092, 2142, 4184, 4283, 8367, 8566, 16734, 17132, 33467, 34264, 66934, 68528, 133867, 137056, 267733, 274112, 409, 439, 818, 877, 1635, 1754, 3269, 3508, 6538, 7015, 13075, 14030, 26149, 28060, 52297, 56120, 104594, 112240, 209188, 224479, 374, 463, 748, 925, 1496, 1850, 2991, 3699, 5982, 7397, 11963, 14794, 23925, 29587, 47850, 59174, 95699, 118347, 191397, 236694),
                    number=c(17, 14, 51, 45, 136, 130, 326, 333, 742, 738, 1637, …
Run Code Online (Sandbox Code Playgroud)

r curve-fitting ggplot2

2
推荐指数
1
解决办法
9914
查看次数