安装rpm包命令_编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出...
不常用R的朋友,可能并不能意識到好的編輯模板帶來的長期效率提高和代碼重用性,非計算機專業科研人員且需要使用R語言,此文會對您有幫助。
個人認為:是否能熟悉使用Shell(項目流程搭建)+R(數據統計與可視化)+Perl/Python等(膠水語言,數據格式轉換,軟件間銜接)三門語言是一位合格生物信息工程師的標準。
之前分享過我個人的《Shell語言》和《Perl語言》腳本寫作模板(藍色字為鏈接直達),今天再分享一下我的R語言模板,一次性解決困擾新手的眾多問題,如包安裝、命令行參數解析、文件讀取、Anova組間統計和箱線圖展示、表格和矢量圖輸出等。
希望對新手有所幫助!老司機盡情拍磚,指導我寫出更好用、更規范的腳本。
模板主要內容
此模板主要以下分為5部分:
1. 程序功能描述和分析思路
每次寫腳本,一定要寫清楚程序的功能、實現的主要步驟,每個參數的詳細說明和使用示例。如果英語描述不方便理解,建議中英文全寫,方便自己和同行快速理解。千萬要認識寫清楚這些,現點養成好習慣,將來節省的時間會更多。
2. 依賴關系檢查、安裝和加載
R己有過萬的可用包,很少需要我們開發新功能。每次需要加載需要的包,但沒有會報錯,直接安裝又不會提醒導致重復安裝浪費時間。我添加判斷R包是否安裝的代碼,當R包缺失時會自己動從CRAN安裝。對于CRAN沒有的包,也提供了Bioconductor和Github安裝代碼,只需手動修改包名安裝即可。
此步還包括加載了optparse包后,對命令行的解析,以及在屏幕上顯示參數,讓用戶校驗是否正確。
3. 讀取輸入文件
R用于作圖,讀入最多的是制表符分割的表格。我提供了使用rnorm生成的測試數據,并輸入了測試文件,其實這種方式在程序測試、教程和實驗分析對照中也是很常用的。
同時提供了read.table讀取文件,或read.table(file.choose)彈窗選擇輸入文件兩種方式。
4. 統計與繪圖
這其實才是正文部分,用戶根據自己的需求編寫代碼分析數據,完成工作。本模板以anova組間比較,和箱線圖展示為例,方法大家測試工作過程。
表1. Anova分析測試數據結果
| GroupB-GroupA | 1.17 | 0.41 | 1.93 | 0.004 |
圖1. 箱線圖展示組間比較,且按組分配不同的顏色和形狀(方便多組時區分),并添加統計p值。
5. 保存圖表
分析的結果最重要的工作是保存圖表,用于進一步分析和論文寫作。本模板提供了輸出表格的代碼,并解決了存在行名輸出時,文本文件在Excel中打開列名位置串一格的問題(R表輸出時行/列名交叉點為空)。圖片建議一律輸出PDF格式,主要控制圖片的長寬即可,不存辨率的問題,后期AI修改組合非常方便。雜志也更喜歡,因為他們接收后修改方便。
模板使用方法
保存文末的全部代碼,推薦在Rstudio中保存文件名為template.r,可以逐行運行學習,體會常用功能。
命令行中使用
# 方法1. 直接使用Rscript執行Rscript template.r
# 調置輸入數據文件,輸出圖表文件名前綴
Rscript template.r -i data_table.txt -o output
# 方法2. 添加可執行權限和環境變量
chmod +x template.r
# 鏈接至有權限寫入的環境變量目錄,如我的是~/bin/
ln `pwd`/template.r ~/bin/
# 任何地方可以直接調用此腳本
template.r -i data_table.txt -o output
程序運行結果如下:
[1] "The input file is data_table.txt"[1] "The output file prefix is output"
[1] "The output table is output.txt"
[1] "The output figure is output.pdf"
文中把每個段落用if條件語句控制是否執行。方便讀者開、關功能代碼段。
用戶還可根據自己的需求添加段落,再也不要為找常用語句的寫法到處搜索了,有了模板,常用語句段落直接復制、修改,快速實現自己的工作!!!
模板全部代碼及講解
#!/usr/bin/env Rscript# 1. 程序功能描述和主要步驟
# 程序功能:Anova組間統計和箱線圖展示
# Anova Script functions: Calculate pvalue of groups by aov and TukeyHSD
# Main steps:
# - Reads data table input.txt
# - Calculate pvalue and save in output.txt
# - Draw boxplot and save in output.pdf
# 程序使用示例
# USAGE
# Default
# anova.r -i data_table.txt
# -o otuput filename prefix for output directory name
# 參數說明
# Options
# -i/--input 輸入數據表文件 input.txt
# -o/--output 輸出結果文件名前綴 output_prefix, 通常會有統計表txt和矢量圖pdf
options(warn = -1)
# 2. 依賴關系檢查、安裝和加載
# See whether these packages exist on comp. If not, install.
package_list
總結
以上是生活随笔為你收集整理的安装rpm包命令_编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zwpython_零起点Python大数
- 下一篇: 银角大王 python_小猿圈pytho