해보記/R

<記> R 스타일 가이드

Light Pillar 2019. 12. 30. 23:16

R 역시 프로그래밍 언어이기 때문에 다른 프로그램 개발 언어들 처럼, 스크립트를 작성함에 있어 표준화할 필요가 있다. 오브젝트 명, 함수 명 등에 대하여 공통된 규칙을 사용하여 표준화함으로써 계산 혹은 함수사용에 있어 발생하는 논리적, 사용자 실수를 제거할 수 있으며, R의 특장점을 살려 성능 최적화를 달성할 수 있다.

 


 

R 스타일 가이드 요약

구분 내용
Naming File명을 정할 떄, 프로그램의 내용을 충분히 설명할 수 있는 것으로 정하고 확장자명을 '.R'로 한다. predict_ad_revenue.R
변수명을 정할 때, 모두 소문자로 사용하고, 구분자는 '_'로 한다. avg_clicks, date_click, click_id
Function명을 정할 때, 기능 및 대상을 유추 할 수 있도록 작성하고, 마지막을 '_fn'으로 한다. Calculate_Avg_fn, Wave_Predict_fn
Data Frame 명을 정할 때, Data의 내용을 간단히 설명할 수 있는 것으로 정하고, 마지막을 '_fn'로 정한다. clicks_df, wave_df
Vector명을 정할 때, Data의 내용을 간단히 설명할 수 있는 것으로 정하고, 구분자를 (.)로 한다. clicks.unique <- unique(clicks_df$clicks)
Grammar 들여쓰기를 할 때, 두 칸으로 정하고, Tab키를 사용하지 않는다. 단, 괄호 안에서 들여쓰기가 발생할 때에는 괄호 안의 첫 글자와 맞춰서 작성한다. if (is.null(ylim) & is.null(ylim)) {
  ylim <- c(0, 0.06)
  xlim <- c(0, 0.1)
}
연산자(=, +, -, <, 등...) 앞뒤로는 띄어쓰기를 한다.
예외) 콤마(,) 앞으로는 공백을 주지 않고, 뒤에는 공백을 준다.
tabPrior <- table(df[df$daysFromOpt < 0, "campaignid"])
왼쪽 괄호 전에 공백을 둔다. 단 Function을 불러오는 괄호에는 공백을 주지 않는다. if (debug)
  cf) Calculate_Avg_fn(clicks_df)
소 / 중괄호 앞뒤로 공백을 주지 않는다. 단, 콤마(,) 뒤에는 항상 공백을 준다. if (debug) x[1, ]
if (debug) x[1]
대괄호 사용시 앞 뒤 괄호를 한 줄에 작성하지 않는다. 한 줄에 작성 할 수 있는 경우 대괄호를 제거한다. if (is.null(ylim)) {
  ylim <- c(0, 0.06)
}
if (is.null(ylim))  yim <- c(0, 0.06)
특정 값을 지정할 때 '='가 아니고 '<-'를 사용한다. x <- 5
unique.list <- unique(wave_df$plate_id)
세미콜론(;)은 한 문장이 끝났음을 나타낸다. 한 줄에 여러 줄을 작성 할 때만 사용한다. x <- x.coord; y <- y.crood;