美文网首页
如何使用R计算香农熵?

如何使用R计算香农熵?

作者: 医学小蛋散 | 来源:发表于2020-02-20 11:03 被阅读0次

前言

1.1948 年,香农提出了“信息熵”(shāng);

2.信息量的度量就等于不确定性的多少。即:要搞懂一个非常非常不确定(gaoleng)的女孩(或是说我们一无所知的女神),就需要了解大量的信息(喜欢吃啥,衣品,喜欢的偶像)。相反,如果我们对某件事已经有了较多的了解(女闺蜜/青梅竹马的),我们不需要太多的信息就能把它搞清楚。(我尽力了~)

不多说了,自己查资料,直接上重点:


如何用“R”计算基因的香农熵?

1.首先,你要有一个基因表达的表:

长这样:第一列是基因名字,其余列名是样本的名字,中间是数据

2.然后,“手动”把第一列删去(方便下一步导入到R中)

删去后的样子

3. 打开R studio,导入数据(cd到数据所在的目录就不说了哈~):

forentropy=read.table("ForEntropy1.txt",header=TRUE,sep="\t",check.names=F,quote="",stringsAsFactors = FALSE)

4.调动Entropy包,具体参数请看说明

library(entropy)

不同熵,用的参数不一样

5.发动“写轮眼”(for循环):

因为我的数据集有683个基因,所以每一行计算香农熵共683次

y=rep(0,683)

for (i in 1:683){ y[i]=entropy(forentropy[i,],method=c("CS"))}

这时候已经变成是你想要的数据了~

6.输出数据:

write.table(y, file ="CS_Entropy.txt", sep =",", row.names =FALSE, col.names =FALSE)

7.整理数据笨办法

就是Excel打开这个香农熵值的表格,复制黏贴到原来的Excel表格中(高端操作就是用cbind到原来的数据集中)

8.全部代码:

forentropy=read.table("ForEntropy1.txt",header=TRUE,sep="\t",check.names=F,quote="",stringsAsFactors = FALSE)

library(entropy)

for (i in 1:683){ y[i]=entropy(forentropy[i,],method=c("CS"))}

write.table(y, file ="CS_Entropy.txt", sep =",", row.names =FALSE, col.names =FALSE)

后记:

能够解决问题的方法,就是好方法~

这个操作,其实基本上可以用于对任何“感兴趣”函数,对自己的数据集“操作”一下~

不打赏,不点赞,你们还想不想我写了,呜呜呜~~~

参考文献:

1.百度百科香农熵:https://baike.baidu.com/item/香农熵;

相关文章

网友评论

      本文标题:如何使用R计算香农熵?

      本文链接:https://www.haomeiwen.com/subject/xjwtqhtx.html