티스토리 뷰

반응형

R 설치는 하셨죠? 이제 차근차근 R을 배워봅시다.

New Project

먼저 하나의 프로젝트 마다 다른 폴더를 만들어주면 길게 보면 상당히 편해요.

이 작업을 먼저 해줄거예요.

RStudio에서 File -> New Project를 눌러주세요.

이런 창이 나왔죠?

New Directory로 들어가시고, 그 다음은 new project를 선택하세요.

이제 여기서 Browse를 눌러서 프로젝트를 저장할 폴더를 지정해주세요. 이름도 넣어주시고요.

그런 후 create project를 눌러주세요.

그럼 오른쪽 하단 Files라는 탭 아래 해당 프로젝트 정보가 있을거예요.

그리고 제가 source pane에 코드를 적는다고 말씀드렸죠?

이 source pane을 열어주기 위해서는 File -> New File -> R script

아래와 같이 따라 오셨나요?

제 프로젝트 이름은 Regret_Liking이예요.

구조 만들기

자 이제 이 프로젝트에 관한 설명을 넣고 싶어요. 

즉, 통계에 영향을 주지 않는 그냥 텍스트를 넣는거예요.

그러기 위해서는 맨 앞에 # 을 넣어주세요.

이렇게요.

그리고 만약 챕터를 나누고 싶다면

----

이렇게 4개 이상의 하이픈? 빼기? (-) 사인을 넣어주세요.

이렇게 하면 왼쪽에 아래로 향해있는 작은 화살표 보이죠? 이걸로 펼쳤다 접었다 할 수 있어요.

여러 실험을 하나의 스크립트에 넣을 때 굉장히 유용해요.

getwd()

이걸 넣어서 돌려주면 파일이 어디 폴더에 있는지 알려줘요.

원하는 코드를 블럭 지정해서 저기 Run을 누르거나 혹은 컨트롤+엔터 를 누르시면 돼요.

블럭 지정 하지 않고 원하는 줄에서 컨트롤+엔터 눌러도 돼요.

오른쪽 Console pane에 주소가 보이죠? 

이제 혹시 모르니까 저장을 해둘까요?

File -> SaveAs

가셔서 원하는 이름으로 저장하시고 돌아옵시다.

Object 만들기

이제 object를 만들어볼까요? 

예를 들어, ab의 값을 10이라고 지정하고 싶으면 ab라는 object에 10이라는 수치를 정해주는 거예요.

여러 수치를 지정해주면 object는 변수가 되겠죠? 

object를 만들고 이 object에 정보를 넣어줄거예요.

실제로는 많이 쓸 일은 없지만 연습이라고 생각하면 좋아요.

ID라는 변수를 만들고 1, 2, 3 넘버를 넣어볼게요.

ID <- c(1,2,3)

이걸 돌리면 아래 Environment에 변수/object가 생겨요.

이렇게요. 잘 따라오고 있죠?

<- 이 표시는 직접 넣으셔도 되고, 알트+하이픈(빼기) 누르셔도 되고요.

c(1,2,3) 대신에 c(1:3)을 넣어도 돼요.

ID2 <- c(1:3)

밑에 보시면 똑같이 1, 2, 3이 들어가있죠?

근데 앞에 ID는 num이고 ID2는 int네요.

num은 numeric으로 모든 수를 칭해요.

int는 integer로 정수만을 의미해요.

참고로 class(object 이름) 이 명령어를 치면 데이터 형태를 알 수 있어요.

예를 들어,

class(ID2)

를 돌려보면

오른쪽 console pane에 class(ID2) integer인거 보이죠?

대/소문자 상관없나 해봤는데 상관 있네요 ㅎㅎ

그럼 만약에 나중에 데이터를 불러왔는데 모든 값을 정수로 바꾸고 싶어요.

여기서는 ID 가 numeric (소수점 포함 모든 수)인 것을 integer로 바꿀꺼예요.

새로운 object인 ID3를 생성하면서 바꿀게요.

ID3 <- as.integer(ID)

그리고 참고로 numeric 수치에 소수점이 있으면 소수점은 버리고 정수로 바꿔요. 반올림 아니예요.

ID3가 int인거 보이죠?

 

그리고 아래와 같이 한 object에 다른 object 수치를 넣는것도 가능하고요.

ID4 <- c(ID, 10)

그럼 만약에 텍스트를 넣고싶다면요? 해봅시다.

Color <- c("red", "red", "blue", "yellow")

주의하실 점은 " " 안에 텍스트를 넣어줘야 한다는거.

chr이라고 나오죠? 이건 character의 줄임말로 텍스트일 경우를 말해요.

만약 이 텍스트에 수치를 넣고 싶다?

그럼 factor라는 명령어를 사용해서,

Color2 <- factor(Color)

이번에는 결측치를 넣어볼까요?

Color3 를 만들어서 Color + 결측치 2개를 넣을게요.

Color3 <- c(Color, NA, NA)

NA는 R에서 보통 결측치를 의미해요.

 

Objects 살펴보기

만약 데이터가 많으면 결측치가 몇 개 있는지 모를거예요. 그땐

sum(is.na(Color3))

이렇게 확인해보세요.

오른쪽 console pane에 2라고 나왔죠? 2개가 있대요.

자 이제껏 여러개의 objects를 만들었어요.

이 objects를 한번에 보려면 ls()를 치면돼요.

Is 아니고 Ls 예요. List 할때 Ls요. 근데 L을 대문자로 쓰면 안되고 소문자로 쓰세요.

console pane에 리스트가 나왔죠?

연습을 많이 했더니 Environment에 변수(objects)가 너무 많아졌네요. 좀 지워볼까요?

rm(ID, ID2, ID3, ID4, Color, Color3)

ID5랑 Color2만 남겼어요.

자 그럼 이제 Color2 에서 만약 red가 어디 있는지 찾고 싶어요.

Color2=="red"

Console pane에 결과가 보이죠? 첫 번째와 두 번째가 red 네요.

 

red가 총 몇 개일까요?

sum(Color2=="red")

Console pane에 보면 2개가 있다네요.

 

red 와 blue 가 총 몇개지?

sum(Color2=="red"|Color2=="blue")

총 3개 가 있대요.

 

yellow 가 Color2 안에 있을까?

"yellow" %in% Color2

black이 Color2 안에 있을까?

"black" %in% Color2

yellow는 Color2 안에 있지만, black은 Color2 안에 없대요.

true--있어

false--없어

 

텍스트가 아닌 숫자인 경우에도 마찬가지로 하면 돼요.

몇 가지 예는 다음과 같아요.

 

ID5!=3

이건 ID5에서 3을 제외한 나머지를 뜻해요.

이번 포스팅은 여기까지 해볼게요.

다음 포스팅도 이와 비슷한 로직, 생성, 계산과 관련한 포스팅이 될 것 같아요.

그 다음은 데이터 불러오고 관리하는 방법에 관한게 될 것 같고요.

천천히 R과 친해져봐요!

 

 

도움이 됐다면 커피 한 잔 사주시면 감사하겠습니다^^

 

EPIK is 어려운 지식을 가능한 한 쉽게 공유하는 곳이예요 :)

Hey 👋 I just created a page here. You can now buy me a coffee!

www.buymeacoffee.com

 

반응형

'통계 이야기 > R을 공부해보자' 카테고리의 다른 글

R 데이터를 살펴보자 2  (0) 2020.06.14
R 데이터를 살펴보자  (0) 2020.06.08
R 데이터 불러오기  (0) 2020.06.07
R 기초 2 (갖고 놀기)  (0) 2020.06.05
R 입문! (설치 및 세팅)  (0) 2020.06.03
댓글