본문 바로가기
R 프로그래밍/R basic

R 워크플로우(기초)

by 찐남 2021. 10. 2.
본 포스팅은 R for Data Science를 기반으로 하여 작성하였습니다.

 

1. 코딩 기초

 

가능한 한 빨리 플로팅 할 수 있도록 몇 가지 기본 사항을 검토해 보겠습니다. R을 계산기로 사용할 수 있습니다. 

1 / 200 * 30
#> [1] 0.15

(59 + 73 + 2) / 3
#> [1] 44.66667

sin(pi / 2)
#> [1] 1

 

<-를 사용하여 새 개체를 만들 수 있습니다.

x <- 3 * 4

 

객체를 생성하는 모든 R 문, 할당 문은 동일한 형식을 갖습니다. 

object_name <- value

그 코드를 읽을 때 머리 속에 "객체 이름이 값을 부여받습니다."라고 이해하시면 됩니다.

 

앞으로 많은 할당을 할 것이고 <-는 타이핑하기가 어렵습니다. =: 를 사용하셔도 작동하지만 나중에 혼동을 일으킬 수 있습니다. <- 대신 RStudio의 키보드 단축키(Alt + -(빼기 기호))를 사용하시면 훨씬 편합니다. 



2. 개체명 부여 규칙

 

개체 이름은 문자로 시작해야 하며 문자, 숫자, _ 및 .만 포함할 수 있습니다. 개체의 이름 만으로 어느 정도 이해가 되도록 정의하는 것이 좋습니다. 그러기 위해서는 여러 단어를 포함하고, 이에 대한 규칙이 필요합니다. 소문자 단어를 _로 구분하는 snake_case를 권장합니다.

 

i_use_snake_case (추전)
otherPeopleUseCamelCase
some.people.use.periods
And_aFew.People_RENOUNCEconvention

 

이름을 입력하여 개체를 검사할 수 있습니다. 

x
#> [1] 12

 

다른 할당을 해보겠습니다.

this_is_a_really_long_name <- 2.5

 

이 개체를 검사하려면 RStudio의 완성 기능을 사용하시면 됩니다. "this"를 입력하고 TAB 키를 누르고 고유한 접두어가 생길 때까지 문자를 추가한 다음 enter 키를 누릅니다. this_is_a_really_long_name 개체의 값을 잘못 입력한 경우에는 다른 키보드 단축키를 사용하여 문제를 해결하시면 됩니다. "this"를 입력한 다음 Cmd/Ctrl + ↑를 누릅니다. 그러면 해당 문자를 시작하는 입력한 모든 명령이 나열됩니다. 화살표 키를 사용하여 탐색한 다음 Enter 키를 눌러 명령을 다시 입력합니다. 2.5를 3.5로 변경하고 다시 실행하시면 됩니다. 

 

또 다른 할당을 해보겠습니다.

r_rocks <- 2 ^ 3

 

제대로 되었는지 점검해 보도록 하겠습니다.

r_rock
#> Error: object 'r_rock' not found
R_rocks
#> Error: object 'R_rocks' not found
r_rocks
#> 8

R 코딩 시 주의해야 할 사항이 있습니다. 오타가 중요하고, 특히 영문 대/소문자를 잘 구분하셔야 합니다.



3. 함수 호출

 

R에는 다음과 같이 호출되는 많은 내장 함수 모음이 있습니다. 

function_name(arg1 = val1, arg2 = val2, ...)

 

규칙적인 일련의 숫자를 만드는 seq() 함수를 사용해 보겠습니다. 그동안 RStudio의 유용한 함수를 더 알아봅니다. se를 입력하고 TAB을 눌러보세요. 'se'로 시작하는 입력 가능한 함수를 팝업으로 보여줍니다. 명확하게 하려면 'q'를 입력하거나 ↑/↓ 화살표를 사용하여 'seq'를 선택하여 seq()를 지정합니다. 함수의 인수와 목적을 상기시켜주는 팝업을 확인해 보세요. 더 많은 도움이 필요하면 F1 키를 눌러 오른쪽 하단 창의 도움말 탭에서 모든 세부 정보를 얻으시면 됩니다.

 

'se' 입력 후 TAB 입력 시 화면 출력 모습

 

'q'를 추가 입력하거나, ↑/↓ 화살표를 사용하여 'seq' 선택 시 화면 출력 모습

 

원하는 함수를 선택했으면 TAB 키를 한 번 더 누릅니다. RStudio는 일치하는 여는(() 및 닫는()) 괄호를 추가합니다. 인수 1, 10을 입력하고 enter를 눌러 보세요.

 

seq(1,10)
#> [1] 1 2 3 4 5 6 7 8 9 10

 

문자열을 할당해 보겠습니다.

x <- "hello world"

따옴표와 괄호는 항상 쌍으로 와야 합니다. RStudio는 최선을 다해 도움을 주지만 여전히 엉망이 되어 불일치로 끝날 수 있습니다. 이 경우 R은 연속 문자 "+"를 표시합니다. 아래 예를 보시겠습니다.

 

+는 R이 더 많은 입력을 기다리고 있음을 알려줍니다(R 명령문이 완성되지 않았음을 의미합니다.). 아직 완료되지 않은 것 같습니다. 일반적으로 " 또는 )를 잊었다는 의미입니다. 누락된 쌍을 추가하거나 ESCAPE를 눌러 표현식을 중단하고 다시 시도하셔야 합니다. 

 

할당을 하면 값을 볼 수 없습니다. 할당 후에는 항상 그 결과를 확인하고 싶은 유혹을 받습니다. 

y <- seq(1, 10, length.out = 5)
y
#> [1] 1.00 3.25 5.50 7.75 10.00

 

이 일반적인 작업은 할당과 "화면에 인쇄"가 발생하도록 하는 괄호로 할당을 둘러싸서 단축할 수 있습니다.

(y <- seq(1, 10, length.out = 5))
#> [1] 1.00 3.25 5.50 7.75 10.00

 

이제 오른쪽 상단 창에서 환경 TAB을 확인해 보세요.

여기에서 생성한 모든 개체를 볼 수 있습니다.



반응형

댓글