來自 Google 的 R 語言編碼風格指南

2021-09-08 20:42:10 字數 4066 閱讀 5746

r語言是一門主要用於統計計算和繪圖的高階程式語言. 這份 r 語言編碼風格指南旨在讓我們的 r **更容易閱讀、分享和檢查. 以下規則系與 google 的 r 使用者群體協同設計而成. 

檔案命名: 以.r(大寫) 結尾

識別符號命名:variable.name,functionname,kconstantname單行長度: 不超過 80 個字元

縮排: 兩個空格, 不使用製表符

空白花括號: 前括號不折行寫, 後括號獨佔一行

賦值符號: 使用<-, 而非=分號: 不要用

總體布局和順序

注釋準則: 所有注釋以#開始, 後接乙個空格; 行內注釋需要在#前加兩個空格

函式的定義和呼叫

函式文件

示例函式

todo 書寫風格:todo(您的使用者名稱)

attach: 避免使用

函式: 錯誤 (error) 應當使用stop()丟擲

物件和方法: 盡可能避免使用 s4 物件和方法; 永遠不要混用 s3 和 s4

.r

predict_ad_revenue.r

foo.r

_

-

.

k

例外: 當括號內發生折行時, 所摺行與括號內的第乙個字元對齊.

=

+

-

<-

例外: 在函式呼叫中傳遞引數時=兩邊的空格可加可不加.

tabprior <- table(df[df$daysfromopt < 0, "campaignid"]) total <- sum(x[, 1]) total <- sum(x[1, ])

tabprior <- table(df[df$daysfromopt<0, "campaignid"])  # needs spaces around '<'

tabprior <- table(df[df$daysfromopt < 0,"campaignid"]) # needs a space after the comma

tabprior<- table(df[df$daysfromopt < 0, "campaignid"]) # needs a space before <-

tabprior<-table(df[df$daysfromopt < 0, "campaignid"]) # needs spaces around <-

total <- sum(x[,1]) # needs a space after the comma

total <- sum(x[ ,1]) # needs a space after the comma, not before

if (debug)

if(debug)

<-

plot(x = xcoord, y = datamat[, makecolname(metric, ptiles[1], "roiopt")], ylim = ylim, xlab = "dates", ylab = metric, main = (paste(metric, " for 3 samples ", sep="")))

例外: 逗號後總須加空格.

if (debug) x[1, ]

if ( debug )  # debug 的兩邊不要加空格

x[1,] # 需要在逗號後加乙個空格

前後一致地

if (is.null(ylim))

if (is.null(ylim))

ylim <- c(0, 0.06)

if (is.null(ylim)) ylim <- c(0, 0.06)

if (is.null(ylim))

<-

=

x <- 5

x = 5

作者資訊注釋

檔案描述注釋, 包括程式的用途, 輸入和輸出

source()library()語句

函式定義

要執行的語句, 如果有的話 (例如,print,plot)

單元測試應在另乙個名為原始的檔名_unittest.r

#

# 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)")

predictctr <- function(query, property, numdays, showplot = true)

predictctr <- function(query, property, numdays, showplot =

true)

args:

returns:

calculatesamplecovariance <- function(x, y, verbose = true)  if (true %in% is.na(x) || true %in% is.na(y))  covariance <- var(x, y) if (verbose) cat("covariance = ", round(covariance, 4), ".\n", sep = "") return(covariance) }

todo(您的使用者名稱): 所要採取行動的明確描述

attach

stop()

除非有不去這樣做的好理由, 否則應當遵循以上描述的編碼慣例. 例外包括遺留**的維護和對第三方**的修改.

遵守常識,前後一致.如果您在編輯現有**, 花幾分鐘看看**的上下文並弄清它的風格. 如果其他人在if語句周圍使用了空格, 那您也應該這樣做. 如果他們的注釋是用星號組成的小盒子圍起來的, 那您也要這樣寫。

遵循編碼風格準則的意義在於, 人們相當於有了乙個程式設計的通用詞彙表, 於是人們可以專注於您在 

說什麼, 而不是您是 

怎麼說 的. 我們在這裡提供全域性的編碼風格規則以便人們了解這些詞彙, 但區域性風格也很重要. 如果您加入檔案中的**看起來和周圍的已有**截然不同, 那麼**閱讀者的閱讀節奏就會被破壞. 盡量避免這樣做. ok, 關於如何寫**已經寫得夠多了; **本身要有趣的多. 編碼愉快!

- r語言編碼慣例

- 為 emacs 使用者而生. 在您的 emacs 中執行 r 並且提供了乙個 emacs mode.

來自 Google 的 R 語言編碼風格指南

r 語言是一門主要用於統計計算和繪圖的高階程式語言。這份 r 語言編碼風格指南旨在讓我們的 r 更容易閱讀 分享和檢查。以下規則系與 google 的 r 使用者群體協同設計而成。概要 r編碼風格約定 一 表示和命名 二 語法 三 組織 概要 r語言使用規則 四 語言 五 例外 六 結語 七 參考文...

來自Google的圍棋AlphaGo

圍棋起源於三千多年前的中國,孔丘曰 飽食終日,無所用心,難矣哉!不有博弈者乎,為之猶賢乎已。意思是 整天吃飽了飯,什麼都不想,真太難了!不是有下棋 指圍棋 的嗎?下下棋,總比什麼都不做要好。目前,全球共有四千萬人在玩圍棋。玩圍棋的步法主要依靠直覺與構想,因為它精緻而又有極高的智力要求,幾個世紀以來一...

R語言讀寫中文編碼方式

r語言讀寫資料的方法很多,這裡主要是我在使用read.csv read.table和write.csv write.table時遇到的一些中文格式編碼的問題。常見的中文編碼方式兩種 gbk gb2312 和utf 8。windows系統下 read.csv 和read.table 方法不指定檔案格式...