일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 확률실험
- python
- 상합
- 큰수의법칙
- Geogebra
- 프로젝트 오일러
- 재귀함수
- 프랙탈
- 작도
- 파이썬
- 하합
- 큰 수의 법칙
- 몬테카를로
- 리만합
- 시뮬레이션
- project euler
- 정오각형
- 삼각함수의그래프
- 피타고라스 정리
- 제곱근의뜻
- counting sunday
- 지오지브라
- algeomath
- java
- 수학탐구
- 알지오매스
- 구분구적법
- 오일러
- 이항분포
- 블록코딩
- Today
- Total
이경수 선생님의 수학실험실
문서에서 단어를 추출하는 함수를 정의한 것이다. 먼저 words에 벡터 형식으로 단어들이 채워지고, 이들은 다시 wlist라는 list의 이름이 된다. 그리고 문서 내, 같은 단어의 모든 위치가 해당 이름 아래 축적된다. > findwords
아래 예시에서 x는 a, b라는 이름의 벡터로 구성된 리스트이다. a는 숫자형(numeric), b는 문자형(character) 데이터이다. list의 각 요소에 접근하여 데이터를 수정하거나 삭제해야 한다면 [ ]를 두 번 겹쳐서 x[[1]], x[[2]]와 같이 나타내면 된다. 더 세부적으로 리스트의 첫번째 인자에서 k번째 데이터의 접근은 x[[1]][k]와 같이 나타내면 된다. > x x $a [1] 1 2 3 $b [1] "y" "n" "y" > x[[1]] x $a [1] 4 5 6 $b [1] "y" "n" "y" > x[[1]][2:3] x $a [1] 4 7 8 $b [1] "y" "n" "y" 마찬가지로 list에서 2번째 요소의 2번째 데이터는 x[[2]][2]와 같이 접근하면 되겠다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mgATA/btq23t0us7p/m6y0aOjL9lCiDungEKtSJK/img.png)
다음은 문서에 사용된 단어와 그 단어가 쓰이는 위치를 모두 검색하는 함수에 대한 소개입니다. 문서자료 'poisson.txt'는 wikipedia에서 포아송 분포를 검색했을 때의 내용을 사용하였습니다. scan( )로 txt file의 내용을 읽어 보면, 다음과 같이 출력됩니다. (절대경로 또는 상대경로) > txt txt [1] "In" "probability" [3] "theory" "and" [5] "statistics," "the" [7] "Poisson" "distribution" [9] "(/늩w뫫릗뭤/;" "French" [11] "pronunciation:" "\u0080[pwas붛])," [13] "named" "after" [15] "French" "mathematician" [17] ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pca4y/btq255EFPd4/Tn3oZ3le4UIZAMBNAEsYG0/img.jpg)
이웃한 세 항들로 이루어진 점화식을 R function으로 나타낸 것이다. > g g(1) [1] 1 > g(2) [1] 2 > g(3) [1] -5 > g(4) [1] -0.9058824 > g(5) [1] -0.2586016 특성방정식의 해를 이용하면, 점화식의 형태를 등비수열의 점화식 꼴로 변형할 수 있다. 또한, 특성방정식이 서로 다른 실근을 갖는다면, 형태가 같은 두 종류의 등식을 얻을 수 있다. 이 두 등식을 연립하는 방법으로도 점화식을 해결할 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b5MKGu/btq26DHEIWO/mhA3Qa2o8IfmtiK7LBrrz0/img.jpg)
다음은 고등학교 2학년 수학, 점화식 단원에서 쉽게 볼 수 있는 문제이다. 이 문제는 아래 solution과 같이 점화식의 양변을 모두 역수로 하여 치환하면 기본점화식 형태가 되므로, 어렵지 않게 해법을 발견할 수 있다. 위에 제시한 수열의 점화식을 R의 함수로 나타내 보았다. return()을 통해 결과 값을 반환하고 있다. C에서와 비슷한 모양이다. > f f(1) [1] 1 > f(2) [1] 0.2 > f(3) [1] 0.05882353
array는 다차원의 행렬로 생각할 수 있다. > array(1:12, dim=c(2,3)) [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 > array(1:12, dim=c(2,3,2)) , , 1 [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 , , 2 [,1] [,2] [,3] [1,] 7 9 11 [2,] 8 10 12 다음은 4차원의 array를 정의한 것이다. > array(1:24, dim=c(2,3,2,2)) , , 1, 1 [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 , , 2, 1 [,1] [,2] [,3] [1,] 7 9 11 [2,] 8 10 12 , , 1, 2 [,1] [,2] [,3] [1,] 13 15 17 [2,]..
행렬의 성분은 1열이 모두 채워지면, 2열 그리고 2열이 모두 채워지면 3열의 순서로 채워진다. 그러나 만일, byrow=T라는 인자를 추가하면 채우는 기준을 열에서 행으로 바꿀 수 있다. > matrix(1:6, nrow=3) [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 > matrix(1:6, nrow=3, byrow=T) [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 5 6 행렬곱은 %*%이다. > x y x %*% y [,1] [,2] [1,] 9 19 [2,] 12 26 [3,] 15 33 solve(y) : 행렬 y의 역행렬을 구한다. > y [,1] [,2] [1,] 1 3 [2,] 2 4 > solve(y) [,1] [,2] [1,] -2 1.5 [2,] ..
연속된 정수로 이루어진 벡터는 start : end 와 같은 형식으로 정의한다. 만일 공차 d인 수열을 만들고자 한다면 아래 예와 같이 seq(from, to, d) 와 같은 형식으로 정의를 해 주면 된다. > x x [1] 1 2 3 4 5 6 7 8 9 10 > x x [1] 1 2 3 4 5 6 7 8 9 10 > x x [1] 1 3 5 7 9 > x x [1] 1 4 7 10 seq_along()은 인자로 들어오는 데이터의 수(n)에 따라 1:n 인 벡터를 만들며, seq_len(n)는 1:n 인 벡터를 만들어 낸다. > seq_along(c("k", "o", "r", "e", "a")) [1] 1 2 3 4 5 > seq_len(3) [1] 1 2 3 rep()는 동일한 데이터 패턴을 반복적으..