티스토리 뷰

반응형

0. 변수? 난 개발이 두렵다~

프로그래밍을 처음 하시는 분들은 생소한 개념일 것입니다. 사실 이 부분부터 흥미를 잃죠. 직접 무언가를 프로그래밍 한다는 설램이 변수부터 배우면 잉? "뭔가 내가 생각하던 그런 멋진 그림이 아니다~" 이런 느낌 들게하죠. 우리는 오피스, 포토샵 등 이런 멋진 프로그램들만 이용해 봤을테니, 어찌보면 당연한 반응일 것입니다.

한편으로는 원망도 하게 됩니다."프로그래밍 도구는 왜 이 정도 수준인거야?, 화성에 사람을 보내겠다며~ 아니 프로그래머들은 자기가 쓰는건데 이렇게 불편하게 만든거야? 아니 왜~"  뿐만 아니라 주변에 척척 친구들이 해내는 모습을 보면 "내가 지금 적성에 맞는 길을 가고 있는가?" 하는 의문마져 들게 합니다.

만약 여러분도 비슷한 생각을 하고 있다면, 전 이말을 전하고 싶네요 "여러분의 잘못이 아니예요~"라고요.

여러분, 항상 이걸 기억하세요~! 마크저커버그급 고수도, 처음 배우는 입문자도 다 똑같은 방식으로 프로그래밍을 합니다. 별다른 특이한 기업이 있는 건 아닙니다. 그럼 머리가 좋은건가요?

음~ 단언컨데 NO!

차이는 개발방식에 있을 뿐입니다. 혼자 다하는가?, 함께 하는가?. 여기서 명심할 것은 기초적인 건 혼자할 수 있어야 합니다. 그래서 입문 즉 첫 단추를 잘 끼어야 합니다. 그런다음 이미 개발되어 있거나 예시로 보여주는 것들을 하나씩, 해결해 나가면 됩니다.

 

그러다 보면 언젠가 전문가 처럼 개발이 능수능란 해지는 것이죠. 나중에는 자기가 마치 마법사가 된듯한 느낌이 들 정도로 익숙하게 됩니다. 다음에 비로서 개발효율을 높이기 위해 다양한 협업방식을 배워야 합니다. 자세한 부분은 R 프로그래밍을 좀더 익히면서 자세히 다뤄 볼께요~



1. R 프그래밍의 준비운동 변수야~ 넌뭐야?



변수는 간단히 말해, 내가 조작하고 싶은 데이터를 담는 그릇이라고 생각하면 됩니다. 그릇도 빈 그릇부터 내용물이 무엇을 채웠냐(밥, 국, 반찬)에 따라 다르듯, 변수도 마찬가지 입니다. 다만 컴퓨터는 그 종류는 몇가지로 정해져 있고, 그에 따라 담는 방식(사용하는)이 다르기도 합니다. 

 


그럼 변수는 왜 만들고(정의) 담아야(할당) 하나요?

여러가지 이유가 있지만, 프로그램에서 변수는 컴퓨터의 행위의 기준입니다. 즉 변수를 어떻게 조작할  것인지 어떤 결과를 담을지 그리고 그 변수를 어떻게 활용할 지에 대해서, 우리가 원하는 결과를 컴퓨터에 지시할 수 있습니다. 

 

그럼 아래의 R 코드를 예로 좀더 설명해 보도록 하겠습니다. 

 

x <- 1+2
print(x)

 

이 코드는 "x라는 변수에 1+2 수행한 결과를 저장, print를 통해 x의 값을 화면에 출력하라"는 코드 입니다.

 

[실행결과]

[1] 3


자 프로그램이 실행하면 위와 같이 실행됩니다. 프로그램의 주요 행위가 x를 통해 이뤄지고,  최종적으로 출력명령(print)으로 3이라는 결과가 화면에 나타난 것입니다.

 

자, 이번에는 변수 x, y 두 변수를 통해 앞의 예시와 같은 결과를 도출해 보겠습니다. 아래의 코드를 잘 살펴봐 주세요~

 

x<-2
y<-1
print(x+y)

[실행결과]

[1] 3

 

처음 예제와 결과는 같지만, 이번엔 두 개의 변수를 이용한 것입니다. 조금 감이 오시나요? 하나를 더 보죠?

 

x<-1

x<-2

x<-3

print(x)

 

[실행결과]

[1] 3

 

이번에는 같은 변수 x에 값을 계속 변경해 보았고, 최종적으로 변경된 결과를 print를 통해 출력해 보았습니다. 원하는 값으로 <- 이 표시만 해주면 결과를 바꿀 수 있다는 것을 이제는 머리로 이해하지 않아도 느낌으로 와 다으실 것입니다. 

 

변수는 <- 할당이라는 아주 기본적인 행위를 통해, 그 값을 변경할 수 있으며, 마지막 할당행위에 의해서 그 값이 정해집니다. 이 때 할당은 직접 할당하는 것과 명령어 함수를 통해 값을 처리 후 할당하는 등 다양하게 이뤄질 수 있습니다. 특히 자료형에 따라 그 방법이 달라지기도 합니다. 

 

이것만은 알자!!!

R은 자료형으로 논릿값, 범주형, 문자형, 수치형의 유형을 가집니다. 

 

논리형 : TRUE or FALSE

팩터형 : 명목/순서형(Ex> 여자/남자)

문자형 : 문자 or 문자열

수치형 : 숫자 - 정수 or 숫자

 

그럼 자료형은 왜 필요한 걸까?

 

개발자가 자료형을 구분없이 컴퓨터가 스스로 인식하면 좋겠지만, 이는 컴퓨터가 계산 오류를 야기하게 만듭니다. 이는 심각한 오류를 야기 할 수 있기 때문에, 현존하는 모든 프로그램 언어는 이러한 자료형을 정확하게 구분하는 제한을 가지게 됩니다. R도 예외가 될 수 없습니다. 

 

2. 자 그럼 변수는 R에서 어떠한 구조적 특성을 가지고 있을까요?

 

R에서는 스칼라, 벡터, 팩터, 행렬, 배열, 리스트 그리고 가장 강력한 데이터프레임으로 총 7가지의 구조적 특성을 가집니다. 여기서 데이터프레임은 다른 것들과 구분되는 가장 큰 특징은 다양한 자료형을 가질 수 있다는 점입니다. 스칼라 앞서 프로그램 예제에서와 같이 하나의 변수에 하나의 값을 가지는 것을 말하며, 아래의 그림은 이외의 구조를 이해하기 쉽게 표현한 그림입니다. 

 

3. 맺음말

 

이번 포스트에서는 R 프로그램의 시작하기 전에 알아야하는 변수, 자료형, 데이터 구조(객체)의 정의 및 형태에 대해서 알아보았습니다. 다음 포스트에서는 이제 해당 자료형과 데이터 구조를 변수에 할당하는 방법에 대해서 알아보겠습니다. 데이터 프레임을 시작으로 하나씩 알아가보도록 하겠습니다.

 

자 그럼 오늘도 즐거운 하루되시고, 업무에 R을 손쉽게 이용할 수 있는 그날까지~ 여러분들을 지원합니다.

 

좋아요 구독은 컨텐츠를 제작하는데 많은 힘이 됩니다. 끝까지 읽어 주셔서 감사합니다.~

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함