R編程風格指南

R編程風格指南

R語言是一門主要用於統計計算和繪圖的高級編程語言

依循R語言編碼風格指南使我們的R代碼更容易閱讀,分享和檢查

[TOC]

>資料參考自Google's R Style Guide

文檔名 : Test.R

副檔名為.R 文件名稱應具有意義可提示文檔內容

:+1: predictadrevenue.R

:-1: foo.R

變數名稱(identifiers)

不使用下劃線(_)或連字符(-)

變量名稱應包含所有小寫字母和單詞以點(.)分隔

函數名稱有大寫字母且沒有點(CapWords)

  • variable.name

:+1: avg.clicks

:-1: avg_Clicks ,avgClicks

  • FunctionName

:+1: CalculateAvgClicks

:-1: calculateavgclicks , calculateAvgClicks

句法

  • 最大行長度為80個字元
  • 縮進代碼時,請使用兩個空格
  • 運算符號前後需保持間距 (=, +,-,<-,等) -- 在使用等號傳遞參數時,前後的空格是可選則的 -- 不要在逗號前放置空格,但始終在逗號後面放置一個空格
# Good
tabPrior &lt;- table(df[df$daysFromOpt &lt; 0, "campaignid"])
total &lt;- sum(x[, 1])
total &lt;- sum(x[1, ])

# Bad
tabPrior &lt;- table(df[df$daysFromOpt &lt; 0,"campaignid"])  # 逗號後需要一個空格
tabPrior&lt;- table(df[df$daysFromOpt &lt; 0, "campaignid"])  # &lt; - 之前需要一個空格
tabPrior&lt;-table(df[df$daysFromOpt &lt; 0, "campaignid"])  # &lt; -前後需空格 
total &lt;- sum(x[,1])  # 逗號後需要一個空格
total &lt;- sum(x[ ,1])  # 在逗號之後,而不是之前創建一個空格

  • 在左括號前放置一個空格,函數調用除外
#Good
if (debug)

#Bad
if(debug)
  • 不要在括號或方括號中的代碼周圍放置空格
# Good
if (debug)
x[1, ]

# Bad
if ( debug )  #變數周圍沒有空格
x[1,]  # 逗號後需要一個空格
  • 大括號不應該出現在單獨一行
# Good
if (is.null(ylim)) {
  ylim &lt;- c(0, 0.06)
}

# Bad
if (is.null(ylim)) {ylim &lt;- c(0, 0.06)}

賦值

> 使用 <- 而不是 =

# Good
x &lt;- 5

# Bad
x = 5

備註

> 整個註釋行應以#和一個空格開頭

# Create histogram of frequency of campaigns by pct budget spent.
hist(df$pctSpent,
     breaks = "scott",  # method for choosing number of buckets
     main   = "Histogram: fraction budget spent by campaignid",
     xlab   = "Fraction of budget spent",
     ylab   = "Frequency (count of campaignids)")

自訂函數

> 函數定義應首先列出沒有默認值的參數,然後列出具有默認值的參數。

# Good

PredictCTR &lt;- function(query, property, num.days,
                       show.plot = TRUE)
# Bad
PredictCTR &lt;- function(query, property, num.days, show.plot =
                       TRUE)

後記

部分指南我並未說明 原因是我並不了解原文意義 或未使用過相關功能 若是有興趣的也可以參考別人完整翻譯的版本 来自Google的R语言编码风格指南

今天先分享到這邊希望大家都有收穫

網站所有文章皆為 H.B. Liu 撰寫,歡迎分享但勿轉製

也可以到粉專私訊我

喜歡我分享的內容也可以按讚追蹤一下我的粉專

幫我分享給所~~~有的朋友 \o/

有所錯誤歡迎指教

留言

這個網誌中的熱門文章

Excel_統計_簡單線性回歸_檢量線

軟體分享_Imagej_顆粒計算_孔隙率計算_孔徑分布

分享_最美的心智圖軟體_Coggle_完整教學