필자의 유튜브 슬기로운 통계생활에 R과 통계에 관한 강의를 올려놓았다. 기초 내용이지만 초급자들이 어려워하는 함수와 개념들을 자세하게 올려놓았고, 계속 업데이트 예정이니 자주 들려주시기 바란다. 😎 이번 포스팅에서 다룰 R함수는 바로 apply() 함수이다. 사실 R에는 여러가지 apply()로 끝나는 이름의 함수들이 많다. 예를들어, lappy(), sapply(), tapply(), 그리고 mapply() 등등 사실 이런 함수들의 사용법을 알고 있어도 필자도 매번 잊어버리고 도움말을 찾아본다. 일일이 이러한 함수의 사용법을 알고 있는 것 자체도 비효율적이라고 생각하는 측면도 있고, 따지고 보면 오늘 설명할 apply 함수에서 출발한 아류들이기 때문이다. 따라서 apply 함수를 확실하게 이해하고, 자..
오늘은 재미있는 코드를 들고왔습니다. 이번 포스팅은 요즘 제가 보고있는 Rcpp 책을 보다가 나온 코드임을 밝힙니다. 피보나치 수열 피보나치 수열은 수학에서 유명한 수열이죠. 이 수열은 다음과 같은 점화식을 써서 나타낼 수 있습니다. \[ F_1 = 1, F_2 = 1, F_{n+2} = F_{n+1} + F_n \] 즉, 임의의 항을 만들때 그 전과 그 전전 항을 더해서 만들어 나가는 꼴입니다. 이 수열은 컴공 알고리즘 시간에도 많이 나오는데, 다음과 같은 재귀 함수를 써써 짜는 것을 배웁니다. fibonacci
벡터 필터링에 대하여 이제까지 우리는 R에서 벡터를 정의하는 방법에 대하여 알아봤다. 이번 포스팅에서는 이미 정의된 벡터를 가지고 노는? 방법에 대하여 알아보도록 하겠다. x라는 이름의 벡터를 다음과 같이 미리 정의해 놓았다고 하자. x
벡터 선언의 여러가지 방법 이번 포스팅에서는 저번시간에 이어서 R에서 벡터를 정의하는 방법에 대하여 알아보도록 하자. 저번 시간에 배운 c() 명령어가 벡터의 원소를 일일이 적어서 정의하는 방법이라면 “:”을 이용한 방법은 일정 규칙이 있는 벡터를 정의할 때 아주 유용한 방법이다. 예를 들어, 1에서부터 10까지 1씩 증가하는 벡터를 정의할때, c() 명령어를 사용하여 다음과 같이 정의할 수 있다. a
[참고] 이 포스팅은 Hadley Wickham Garrett Grolemund의 R for Data Science책의 챕터 5장을 개인적으로 중요한 내용을 뽑아내어 재구성한 포스팅입니다. 이 포스팅에 사용되는 라이브러리는 다음과 같다. library(tidyverse) 데이터 만들기 함수가 어떻게 작동하는지 알아보기 위해서 작은 데이터 셋을 만들어 보자. set.seed(123) mydata , 60 & 중간고사 < 80), (기말고사 < 70 | 기말고사 > 90)) ## # A tibble: 1 x 4 ## 소속학급 학생번호 중간고사 기말고사 ## ## 1 3 4 77 65 위 코드는 1반과 3반에 속한 학생들 중에서 중간고사 성적이 60점에서 80점 사이이면서 기말고사는 70점 아래이거나 90점 ..
Vectorized 함수의 꽃 이번 포스팅에서 다룰 R함수는 바로 outer() 함수이다. 이 함수의 이름은 선형대수학에서 정의되는 두 벡터의 Outer product에서 유래되었다고 생각하면 된다. 따라서 함수를 설명하기에 앞서 먼저 유래가 된 두 벡터의 outer product가 어떤 것인지에 대하여 알아보자.ㅣ 두 벡터 \(\underline{a}\)와 \(\underline{b}\)를 다음과 같이 정의하자. \[ \underline{a}=\left(\begin{array}{c} a_{1}\\ a_{2}\\ a_{3}\\ a_{4} \end{array}\right),\,\underline{b}=\left(\begin{array}{c} b_{1}\\ b_{2}\\ b_{3}\\ b_{4} \end{a..