<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[longnian01的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/longnian01</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; longnian01]]></copyright><item><title><![CDATA[R 包构建 + GitHub 部署全流程]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/157135580</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/157135580</guid><author>longnian01</author><pubDate>Mon, 19 Jan 2026 14:51:37 +0800</pubDate><description><![CDATA[这是一个面向新手的 R 包构建与 GitHub 发布入门教程文档。该 Markdown 文档以“从零开始、一步不跳”为原则，完整记录了创建 R 包骨架、配置 Git、生成文档与示例数据、添加测试、通过 roxygen2 生成帮助文件，以及最终将包发布到 GitHub 并供用户安装使用的全过程。]]></description><category></category></item><item><title><![CDATA[编程世界里的 foo bar baz]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/152309119</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/152309119</guid><author>longnian01</author><pubDate>Tue, 30 Sep 2025 09:43:53 +0800</pubDate><description><![CDATA[编程界常用foo、bar、baz作为占位符变量名，这些来自早期黑客文化的无意义词汇已成为代码示例中的&quot;标准演员&quot;。它们源自二战俚语FUBAR，后来在MIT和Unix文化中发展为一系列幽默命名（如qux、xyzzy等）。这些名字明确表示&quot;无实际意义&quot;，比普通字母变量更醒目，既实用又带彩蛋性质，成为程序员间心照不宣的编码默契。]]></description><category></category></item><item><title><![CDATA[R语言中的S3 泛型与方法]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/152209630</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/152209630</guid><author>longnian01</author><pubDate>Sun, 28 Sep 2025 10:50:49 +0800</pubDate><description><![CDATA[在 R 里面，有一些函数看起来“一个名字能干好多事”。比如你用 print() 打印一个向量，结果是直接输出数字；用 print() 打印一个数据框，它会自动排成表格；而打印线性模型（lm），它会显示系数和统计结果。为什么同一个函数会有不一样的行为呢？这就是 泛型函数（generic function） 在发挥作用。泛型函数本身并不干具体的活，它只是一个“分派员”。当你调用它时，它会先看看你给的对象是什么类型（类 class），然后把任务交给专门为这个类写好的方法函数去执行。]]></description><category></category></item><item><title><![CDATA[R语言中的获取函数与替换函数]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/152115468</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/152115468</guid><author>longnian01</author><pubDate>Fri, 26 Sep 2025 09:11:09 +0800</pubDate><description><![CDATA[本文介绍了R语言中获取函数(getter)和替换函数(replacement)的使用方法。获取函数用于读取对象属性，形式为foo(x)；替换函数用于修改对象属性，形式为foo(x) &lt;- value，实际上是调用&quot;foo&lt;-&quot;(x, value)的语法糖。文章通过示例展示了如何创建和使用这两种函数，包括设置/读取对象属性，并解释了替换函数必须返回修改后对象的特性。最后总结了两种函数的语法规则和调用原理。]]></description><category></category></item><item><title><![CDATA[代码复现-甜甜圈富集分析]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/151247185</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/151247185</guid><author>longnian01</author><pubDate>Sat, 06 Sep 2025 09:05:33 +0800</pubDate><description><![CDATA[本文介绍了一种创新的富集分析可视化方法——"甜甜圈图"，复现自Medina等人在Nature (2020)发表的研究。该方法通过环形结构直观展示基因表达分析结果：中央大圆环显示总体上调(红色)和下调(蓝色)基因分布；外围小圆环代表不同功能通路，大小与基因数量成正比，颜色区分上下调基因。代码采用R语言实现，利用tidyverse、ggforce等包进行数据处理和图形绘制，通过交错排列、大小调整和连线设计增强可视化效果，使复杂的富集分析结果一目了然。这种可视化方法特别适合展示基因表达与生物学功能的关联关系。]]></description><category></category></item><item><title><![CDATA[通过reticulate 包实现R与 Python 的交互]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/149814473</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/149814473</guid><author>longnian01</author><pubDate>Thu, 31 Jul 2025 21:49:32 +0800</pubDate><description><![CDATA[在 R中实现与Python的交互，最常用的方法是通过 `reticulate`包，它可以在 R 环境中直接调用 Python 代码、Python 包、Python 虚拟环境，甚至返回 Python 对象到 R 中进行操作。Reticulate字面意思是“网状的、网状结构的”。R 的 `reticulate` 包用来 让 R 和 Python 互相交织/交互，就像两种语言编织成一张网，因此得名。]]></description><category></category></item><item><title><![CDATA[Jupyter Notebook简介]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/148646653</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/148646653</guid><author>longnian01</author><pubDate>Sat, 14 Jun 2025 07:43:07 +0800</pubDate><description><![CDATA[Jupyter Notebook 是一个开源的交互式计算环境，支持代码、文本、数学公式和可视化的混合编写。用户可以在一个文档中同时运行代码、展示结果并添加说明，广泛用于数据分析、机器学习和学术研究。它支持多种编程语言，最常用的是 Python。]]></description><category></category></item><item><title><![CDATA[R语言中获取KEGG信号通路基因列表]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/144896019</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/144896019</guid><author>longnian01</author><pubDate>Thu, 02 Jan 2025 22:10:59 +0800</pubDate><description><![CDATA[在生物信息学分析中，研究人员经常需要获取某个通路的基因列表，但KEGG官网并不支持直接下载与通路相关的基因数据。这段代码正是为了解决这一问题而设计的。通过输入KEGG通路编号和物种信息，代码能够从KEGG数据库中提取通路的基因ID，并利用Ensembl数据库将这些ID映射为通用的基因名称（Gene Symbols）。这一过程自动化且高效，免去了手动查找和整理基因列表的繁琐步骤，非常适合需要快速获取和处理通路基因的研究任务。]]></description><category></category></item><item><title><![CDATA[R语言进行单细胞转录组GSVA分析]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/141332299</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/141332299</guid><author>longnian01</author><pubDate>Mon, 19 Aug 2024 19:05:44 +0800</pubDate><description><![CDATA[​	GSVA（基因集变异分析）是一种无监督的方法，用于评估样本中基因集的表达变化，并在单细胞转录组数据分析中特别有用。通过比较不同细胞亚群中基因集的活性差异，GSVA可以揭示细胞功能状态、识别疾病相关的细胞亚群，并预测对药物治疗的反应性。]]></description><category></category></item><item><title><![CDATA[R语言中的正则表达式]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/141202540</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/141202540</guid><author>longnian01</author><pubDate>Wed, 14 Aug 2024 23:13:07 +0800</pubDate><description><![CDATA[​	正则表达式（Regular Expressions，Regex）起源于20世纪40年代的数学和逻辑研究，由斯蒂芬·克莱尼提出的正则集合理论奠定基础。20世纪60年代，Ken Thompson将正则表达式引入计算机科学，特别是在UNIX系统中开发了支持正则表达式的工具。随着时间推移，正则表达式在Perl语言中得到了广泛应用，并被集成到多种编程语言中。POSIX标准化进一步推动了正则表达式的普及与一致性。如今，正则表达式已成为文本处理和数据清理的重要工具，并在现代编程和数据分析中继续发挥关键作用。]]></description><category></category></item><item><title><![CDATA[R语言中的cat函数]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/141188999</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/141188999</guid><author>longnian01</author><pubDate>Wed, 14 Aug 2024 13:46:36 +0800</pubDate><description><![CDATA[​	R语言本身起源于20世纪90年代的统计计算环境，而当时的开发者们受到UNIX编程习惯的深刻影响。在UNIX中，有一个非常常用的命令行工具叫做cat），这个命令用于将文件内容或标准输入连接在一起并输出到标准输出（通常是终端）。R语言的cat函数借用了这个理念，成为了一个用于将对象连接成字符串并输出的工具。​	与其他输出函数不同，cat的主要作用是将多个元素（如字符串、数值等）按顺序连接成一个连续的字符串，并将其直接输出到控制台、文件或其他连接设备中。cat不会自动换行，除非手动添加换行符。]]></description><category></category></item><item><title><![CDATA[R语言中的Reduce函数]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/141073561</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/141073561</guid><author>longnian01</author><pubDate>Sat, 10 Aug 2024 00:58:24 +0800</pubDate><description><![CDATA[`Reduce` 函数在R语言中用于执行“归约”操作，这意味着它将一个操作（通常是一个函数）应用于一系列的元素，以此将这些元素组合成单一的值。这个过程是通过迭代（重复步骤）完成的，每一次迭代都将当前的元素与上一次迭代的结果结合起来。]]></description><category></category></item><item><title><![CDATA[R语言中的sprintf函数]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/141054041</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/141054041</guid><author>longnian01</author><pubDate>Fri, 09 Aug 2024 09:57:01 +0800</pubDate><description><![CDATA[sprintf 是格式化的字符串打印(string print formatted) 的简称。这个函数名来源于 C 语言，用于将格式化的数据输出保存到字符串中。在多种编程语言中，包括 R 语言，sprintf 都是用来生成按照特定格式排列的字符串，非常适合于创建结构化的输出或处理字符串中的数据格式化。]]></description><category></category></item><item><title><![CDATA[R语言中的grep函数]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/141040249</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/141040249</guid><author>longnian01</author><pubDate>Fri, 09 Aug 2024 02:33:50 +0800</pubDate><description><![CDATA[​ grep是“Global Regular Expression Print”的简称。它来源于Unix操作系统的一个经典命令，用于搜索文本文件中与指定正则表达式匹配的行。这个命令的意思是“全局搜索（global search），使用正则表达式（regular expression），并打印（print）匹配的行”。
​ 在R语言中，grep函数是一种强大的文本处理工具，用于在字符向量中搜索匹配特定模式的字符串，并返回这些字符串的位置索引或实际的字符串。]]></description><category></category></item><item><title><![CDATA[使用Clipr读取-写入剪贴板]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/140566329</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/140566329</guid><author>longnian01</author><pubDate>Sat, 20 Jul 2024 09:56:53 +0800</pubDate><description><![CDATA[clipr 是一个简单的实用程序，可以读取和写入 Windows、OS X 和类 Unix 系统的系统剪贴板。]]></description><category></category></item><item><title><![CDATA[PLS-DA在转录组测序中的作用]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/139207880</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/139207880</guid><author>longnian01</author><pubDate>Sun, 26 May 2024 09:29:36 +0800</pubDate><description><![CDATA[PLS-DA（偏最小二乘判别分析）、PCA（主成分分析）和LDA（线性判别分析）在数据分析中各具特色，尤其在转录组测序中发挥着不同的作用。旨在通过最大化数据方差来发现数据的主要变异方向，是一种无监督学习方法，不使用类别标签，主要用于数据探索、可视化和降维。则是一种有监督学习方法，利用类别标签来最大化类别间的分离度，适用于分类问题，尤其在类别数较少且数据满足同质性假设的情况下。同样是有监督学习方法，结合数据矩阵和类别矩阵来建立线性模型，既解释数据变异又最大化类别差异，特别适合高维数据和多类别分类分析。]]></description><category></category></item><item><title><![CDATA[PCA和LDA分析在转录组测序中的作用]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/139016136</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/139016136</guid><author>longnian01</author><pubDate>Sat, 18 May 2024 03:44:14 +0800</pubDate><description><![CDATA[在转录组测序数据分析中，PCA和LDA各有优势，通常可以结合使用。PCA用于初步探索和可视化数据，了解主要变异和异常样本；LDA用于进一步分析和解释组间差异，识别对区分不同组最重要的特征和基因。通过结合两者的方法，可以获得对转录组数据更全面和深入的理解。标准差显示了每个主成分的离散程度，较大的标准差表明该主成分解释了更多的数据变异。方差比例说明了每个主成分解释的总变异的比例，前几个主成分通常解释了大部分变异。累积方差比例。]]></description><category></category></item><item><title><![CDATA[biomaRt包实现同源基因高级转换]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/138029028</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/138029028</guid><author>longnian01</author><pubDate>Sun, 21 Apr 2024 11:42:44 +0800</pubDate><description><![CDATA[biomaRt是一个在 R 语言中广泛使用的软件包，它提供了一个接口来访问多个生物信息学数据库，尤其是 BioMart 数据管理系统。BioMart 是一种为基因组信息提供高效、灵活检索的数据库系统。]]></description><category></category></item><item><title><![CDATA[使用Pip安装和管理Python包]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/137990823</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/137990823</guid><author>longnian01</author><pubDate>Sat, 20 Apr 2024 09:59:28 +0800</pubDate><description><![CDATA[PIP（Python包索引）是一个官方的第三方软件包管理系统，用于Python的软件包安装和管理。PyPI允许Python社区的用户发布他们的软件包，并使其他用户能够通过PIP轻松地找到和安装这些软件包。通过简单的命令，用户可以安装他们需要的任何软件包。PIP自动处理依赖性管理和软件包更新。]]></description><category></category></item><item><title><![CDATA[Bioconda 管理生物学软件]]></title><link>https://blog.youkuaiyun.com/longnian01/article/details/137864445</link><guid>https://blog.youkuaiyun.com/longnian01/article/details/137864445</guid><author>longnian01</author><pubDate>Wed, 17 Apr 2024 11:00:54 +0800</pubDate><description><![CDATA[Conda是一个强大的开源软件包管理系统和环境管理系统，特别适用于管理生物学软件及其依赖项。Conda有一个活跃的社区，提供了大量的预构建软件包和教程，使得用户可以轻松地找到和安装他们需要的生物学软件。此外，社区成员还可以提供技术支持和帮助解决安装和使用过程中遇到的问题。]]></description><category></category></item></channel></rss>