r 語言是一門主要用於統計計算和繪圖的高階程式語言。這份 r 語言編碼風格指南旨在讓我們的 r **更容易閱讀、分享和檢查。以下規則系與 google 的 r 使用者群體協同設計而成。
概要:r編碼風格約定
一、表示和命名
二、語法
三、**組織
概要:r語言使用規則
四、語言
五、例外
六、結語
七、參考文獻
# 正例
tabprior <- table(df[df$daysfromopt < 0, "campaignid"])
total <- sum(x[, 1])
total <- sum(x[1, ])
# 反例
tabprior <- table(df[df$daysfromopt<0, "campaignid"]) # '<'兩側需要增加空格
tabprior <- table(df[df$daysfromopt < 0,"campaignid"]) # 逗號後需要增加乙個空格
tabprior<- table(df[df$daysfromopt < 0, "campaignid"]) # <-前需要增加乙個空格
tabprior<-table(df[df$daysfromopt < 0, "campaignid"]) # '<-'兩側需要增加空格
total <- sum(x[,1]) # 逗號後需要增加乙個空格
total <- sum(x[ ,1]) # 逗號後需要增加乙個空格,而非逗號之前
在前括號前加乙個空格,函式呼叫時除外。
# 正例
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))
# 正例
if (condition) else
# 反例
if (condition)
else
# 反例
if (condition)
one line
else
one line
# 正例
x <- 5
# 反例
x = 5
# 生成乙個頻率直方圖,以描述campaigns的預算百分比
hist(df$pctspent,
breaks = "scott", # 定義柱形數量的引數
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)
理想情況下,單元測試應該充當函式呼叫的樣例(對於包中的程式來說)。
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)
}
除非有不去這樣做的正當理由,否則應當遵循以上描述的編碼慣例。例外包括遺留**的維護和對第三方**的修改。
遵守常識,前後一致。
如果您在編輯現有**,花幾分鐘看看**的上下文並弄清它的風格。
如果其他人在 if 語句周圍使用了空格,那您也應該這樣做。
如果他們的注釋是用星號組成的小盒子圍起來的,那您也要這樣寫。
遵循編碼風格準則的意義在於,人們相當於有了乙個程式設計的通用詞彙表。於是人們可以專注於您在說什麼,而不是您是怎麼說的。
我們在這裡提供全域性的編碼風格規則以便人們了解這些詞彙,但區域性風格也很重要。
如果您加入檔案中的**看起來和周圍的已有**截然不同,那麼**閱讀者的閱讀節奏就會被破壞,盡量避免這樣做。
ok,關於如何寫**已經寫得夠多了,**本身要有趣的多。編碼愉快!
r語言編碼慣例
為emacs使用者而生,在您的emacs中執行r並產生乙個emacs模式
來自 Google 的 R 語言編碼風格指南
r語言是一門主要用於統計計算和繪圖的高階程式語言.這份 r 語言編碼風格指南旨在讓我們的 r 更容易閱讀 分享和檢查.以下規則系與 google 的 r 使用者群體協同設計而成.檔案命名 以.r 大寫 結尾 識別符號命名 variable.name,functionname,kconstantnam...
來自Google的圍棋AlphaGo
圍棋起源於三千多年前的中國,孔丘曰 飽食終日,無所用心,難矣哉!不有博弈者乎,為之猶賢乎已。意思是 整天吃飽了飯,什麼都不想,真太難了!不是有下棋 指圍棋 的嗎?下下棋,總比什麼都不做要好。目前,全球共有四千萬人在玩圍棋。玩圍棋的步法主要依靠直覺與構想,因為它精緻而又有極高的智力要求,幾個世紀以來一...
R語言讀寫中文編碼方式
r語言讀寫資料的方法很多,這裡主要是我在使用read.csv read.table和write.csv write.table時遇到的一些中文格式編碼的問題。常見的中文編碼方式兩種 gbk gb2312 和utf 8。windows系統下 read.csv 和read.table 方法不指定檔案格式...