R 과 Google Analytics를 활용한 실무 분석

R과 GA를 활용해서 실무에서 간단하게 쓸 수 있는 스킬과 방법론을 학습합니다.

R 과 Google Analytics를 활용한 실무 분석 R과 GA를 활용해서 실무에서 간단하게 쓸 수 있는 스킬과 방법론을 학습합니다.

LIST, Matrix, 행렬 다루기

벡터와 행렬 등 R에서 데이터를 다루는 법을 바로 이해하자

오픈튜토리얼스 사용에 대한 안내

오픈튜토리얼스는 수업, 메뉴얼, 소설과 같이 순서가 있는 컨텐츠를 잘 담아낼 수 있는 서비스로 대표적인 콘텐츠는 생활코딩이 있습니다.

  • 새로운 지식, 특히 코딩이 섞여있는 콘텐츠는 듣는 것도 중요하지만 딱 필요한 시점에 꺼내서 볼 수 있는 것이 매우 중요합니다.
  • 따라서 저희가 실습하는 콘텐츠는 생활코딩으로 유명한 오픈튜토리얼스에 정기적으로 컨텐츠 생산/업데이트할 예정입니다.
  • 여러분은 해당 수업내용을 확인하시거나 회원가입 후 공동공부 등을 통해서 콘텐츠를 따라오시거나 필요한 시점에 검색해서 찾을 수 있습니다.
  • 각 플랫폼별 공동공부 사용법은 아래 링크를 확인해주세요.
  • https://opentutorials.org/module/180/2236
  • 현재 진행하는 R / GA 수업 외에도 다양한 Opentutorials 의 콘텐츠를 학습해보시기를 권장합니다. :)

공동공부 해주세요!

페이지 구성 및 실습방법

코딩은 복붙

  • 각 수업 페이지에는 회색음영으로 된 코딩 파트가 있습니다.
  • 해당 파트를 복사/붙여넣기 하면서 코딩 수업을 빠르게 따라올 수 있습니다.
  • 다만 백문이불여일'타' 라는 말이 있는 것처럼 직접 치면서 따라오는 것을 권장합니다.

LIST, Matrix 다루기

LIST

[https://thebook.io/006723/ch02/05/01/]

  • LIST는 ‘(key, value)’ 형태의 데이터를 담는 연관 배열 Associative Array 입니다.
  • 흔히 보는 json 형태의 데이터와 유사하다고 생각하셔도 됩니다.

LIST 형 데이터 인덱싱

사실상 공통 문법입니다. 외워두면 좋습니다 :)

문법

의미

x$key

리스트 x에서 키 값 key에 해당하는 값

x[n]

리스트 x에서 n번째 데이터의 서브리스트

x

리스트 x에서 n번째 저장된 값

x <- list( 
  key1=1, 
  key2=2
)

x # 숫자형 데이터를 넣어봤습니다. 

y <- list(name="foo", height=c(1, 3, 5)) # 문자를 넣어도 되고, name을 넣어도 됩니다.

## $key1

## [1] 1

## 

## $key2

## [1] 2

Matrix (행렬)

드디어 배운 것을 써먹을 수 있다!

 중고등 수학 시간에 배운 행렬의 정의와 같이 행(로우), 열(컬럼)의 수가 지정된 구조로 아래와 같은 문법 구조를 갖습니다.

matrix( data, # 행렬을 생성할 데이터 벡터 nrow, # 행의 수 ncol, # 열의 수 byrow=FALSE, # TRUE로 설정하면 행우선, FALSE일 경우 열 우선으로 데이터를 채운다. dimnames=NULL # 행렬의 각 차원에 부여할 이름 )

함수의 리턴 값은 행렬임.

matrix(c(1:60), nrow=5)

##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]

## [1,]    1    6   11   16   21   26   31   36   41    46    51    56

## [2,]    2    7   12   17   22   27   32   37   42    47    52    57

## [3,]    3    8   13   18   23   28   33   38   43    48    53    58

## [4,]    4    9   14   19   24   29   34   39   44    49    54    59

## [5,]    5   10   15   20   25   30   35   40   45    50    55    60

# 이를 z에 저장하면 이것을 z에 리턴하면 아래와 같이 보현 가능
z  <- matrix(c(1:60), nrow=3)
z[1] # 첫번째 행만 뽑아보자. 

## [1] 1

matrix(c(1:60), nrow=3)[1,] # 이것과 같은 뜻임을 잊지말자!

##  [1]  1  4  7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58

z[1,3] # 1번째행의 3번째 열의 데이터를 알려줘

## [1] 7

# 리스트와 함께.. 이렇게 사용도 가능하다

a1 <- matrix(1:9, 
       nrow=3,
       dimnames=list(c("r1", "r2", "r3"), c("c1", "c2", "c3")) 
       )
a1

##    c1 c2 c3

## r1  1  4  7

## r2  2  5  8

## r3  3  6  9

a1[1, ] 

## c1 c2 c3 

##  1  4  7

행렬 연산하기

  • 중고딩 수학을 한번 R로 풀어보자
# 전치행렬 
# https://goo.gl/2uLJZs

x <- matrix(c(1:60), nrow=10)
x

##       [,1] [,2] [,3] [,4] [,5] [,6]

##  [1,]    1   11   21   31   41   51

##  [2,]    2   12   22   32   42   52

##  [3,]    3   13   23   33   43   53

##  [4,]    4   14   24   34   44   54

##  [5,]    5   15   25   35   45   55

##  [6,]    6   16   26   36   46   56

##  [7,]    7   17   27   37   47   57

##  [8,]    8   18   28   38   48   58

##  [9,]    9   19   29   39   49   59

## [10,]   10   20   30   40   50   60

t(x)

##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

## [1,]    1    2    3    4    5    6    7    8    9    10

## [2,]   11   12   13   14   15   16   17   18   19    20

## [3,]   21   22   23   24   25   26   27   28   29    30

## [4,]   31   32   33   34   35   36   37   38   39    40

## [5,]   41   42   43   44   45   46   47   48   49    50

## [6,]   51   52   53   54   55   56   57   58   59    60

# 행렬 x의 역행렬을 구한 뒤 

x <- matrix(c(1:4), ncol=2)
solve(x)

##      [,1] [,2]

## [1,]   -2  1.5

## [2,]    1 -0.5

x * solve(x) # x와 역행렬을 곱해 그 결과가 단위행렬Identity Matrix이 되는지 확인하는 예

##      [,1] [,2]

## [1,]    1    0

## [2,]    0    1

댓글

코드를 따라하면서 같이 공부해봐요

댓글 본문
작성자
비밀번호
버전 관리
Dusskapark
현재 버전
선택 버전
graphittie 자세히 보기