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 方法不指定檔案格式...