일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프랙탈
- 프로젝트 오일러
- 오일러
- project euler
- algeomath
- java
- python
- 작도
- 상합
- 지오지브라
- 몬테카를로
- 이항분포
- 피타고라스 정리
- counting sunday
- 구분구적법
- 확률실험
- 재귀함수
- 큰수의법칙
- 정오각형
- 시뮬레이션
- 알지오매스
- 큰 수의 법칙
- 리만합
- 삼각함수의그래프
- 수학탐구
- 파이썬
- Geogebra
- 하합
- 제곱근의뜻
- 블록코딩
- Today
- Total
목록Math (134)
이경수 선생님의 수학실험실
While loop는 괄호( ) 안의 조건을 만족하는 동안 { } 안의 함수를 반복적으로 실행시키는 구문이다. 아래 코드에서 && 연산자는 두 조건이 모두 참이면 TRUE, 둘 중 적어도 한조건이 거짓이면 FALSE를 출력하는 연산자이다. > z while(z>3 && z rbinom(2,2,0.5) [1] 1 1 3회의 시행에서 일어날 확률이 0.7인 사건이 몇 회 일어나는 지를 난수로 생성한 것이며, 이를 2회 관찰함. > rbinom(2,3,0.7) [1] 1 2 > rbinom(2,3,0.7) [1] 1 3 > rbinom(2,3,0.7) [1] 2 2
is.na( ) 함수로 TRUE에 해당하는 결측값을 찾아내 이를 제거할 수 있다. > x dim(x) x [,1] [,2] [,3] [1,] 1 NA 5 [2,] 2 4 NA > is.na(x) [,1] [,2] [,3] [1,] FALSE TRUE FALSE [2,] FALSE FALSE TRUE > bad x[bad] [1] NA NA > x[!bad] [1] 1 2 4 5 두 벡터에서 대응하는 두 수끼리 서로 곱해야 하는 경우, 둘 중 적어도 하나가 결측값이면 곱셈을 할 수 없다. 이때, complete.cases( ) 함수를 사용하여 두 값 중 하나라도 결측값인 경우를 골라낼 수 있다. > x y ma ma [1] TRUE FALSE FALSE TRUE FALSE TRUE FALSE > x[ma]..
x$a 만으로도 list에서 abc의 데이터가 출력된다. x[["a"]]으로는 abc의 데이터가 출력되지 않지만 exact 인자를 추가하여 FALSE 값을 주면 역시 abc의 데이터가 출력됨을 알 수 있다. > x x$a [1] 1 2 3 4 5 > x$b NULL > x[["a"]] NULL > x[["a",exact=FALSE]] [1] 1 2 3 4 5 list에 a로 시작하는 name이 두 개가 있으면 x$a로 NULL 값이 출력된다. exact에 FALSE 값을 주어도 마찬가지이다. 그러나 name이 abc와 efg 이면 x$a와 x$e로 각각의 데이터들이 출력됨을 알 수 있다. > x x$a NULL > x[["a",exact="FALSE"]] NULL > x$abc [1] 1 2 3 > x ..
성분의 위치를 통해 해당하는 성분 데이터를 취할 수 있다. 또, m[1, ], m[ ,2]와 같이 열 또는 행을 비워 놓으면, 해당 행 또는 해당 열의 모든 성분들을 얻을 수 있게 된다. m m [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 > m[2,3] [1] 6 > m[2,] [1] 2 4 6 > m[,1] [1] 1 2 특히, drop 인자를 추가하여 이것의 값을 FALSE로 주면, 취한 성분들로 이루어진 행렬이 구성된다. > m m [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 > m[1,2,drop=FALSE] [,1] [1,] 3 > m[1,,drop=FALSE] [,1] [,2] [,3] [1,] 1 3 5 > m[1,c(1,3),drop=FALSE]..
R의 Object에서 일부분을 취하는 방법이다. 다음과 같이 하나 또는 그 이상을 취할 수 있다. > x x[1] [1] "k" > x[3] [1] "r" > x[1:5] [1] "k" "o" "r" "e" "a" > x[x>"g"] [1] "k" "o" "r" > u"g" > u [1] TRUE TRUE TRUE FALSE FALSE > x[u] [1] "k" "o" "r" List에서 부분을 취하는 방법은 다음과 같다. x[1]와 같이 괄호가 하나인 경우, 괄호 안의 숫자는 리스트에서 names의 인덱스를 나타냄을 알 수 있다. > x x[1] $red [1] 1 2 3 > x[2] $blue [1] 11 12 13 14 x[[1]]와 같이 이중괄호를 사용하면 괄호를 한 번 사용할 때와는 달리 해당 ..
R의 object들은 이름을 가질 수 있다. > x names(x) NULL > names(x) x red blue green 1 2 3 > names(x) [1] "red" "blue" "green" 리스트도 가능하다. > x x $a [1] 1 $b [1] 2 $c [1] 3 행렬의 행이름과 열이름을 다음과 같은 방법으로 부여할 수 있다. > m dimnames(m) m red blue green F 1 3 5 M 2 4 6
행렬은 모든 성분이 같은 종류여야 하지만 데이터 프레임은 각 열끼리 서로 다른 종류여도 가능하다. 이러한 데이터 프레임은 row.names라는 속성을 가진다는 특징이 있으며, 보통 read.table() 또는 read.csv() 함수를 호출함으로써 만들어진다. > x x a b 1 1 F 2 2 M 3 3 F 4 4 M > nrow(x) [1] 4 > ncol(x) [1] 2 기존 프레임에 새로운 열을 추가하고자 한다면 'x$(열이름)
NA : not available NaN : not a number NA는 NA이지만 NaN은 아니다. NaN은 NA이면서 NaN이다. > x is.na(x) [1] FALSE FALSE TRUE > is.nan(x) [1] FALSE FALSE FALSE > x is.na(x) [1] FALSE TRUE TRUE > is.nan(x) [1] FALSE FALSE TRUE 아래 예에서 데이터 프레임 x의 [2, 2]와 [3, 3]은 NA이다. 다음은 NA를 처리하는 3가지 서로 다른 경우를 제시하고 있다. 우선, omit은 '생략하다'는 뜻의 단어로 함수 na.omit()은 NA가 있는 행은 생략하여 나타낸다. 그리고 na.pass()는 NA가 있는 행이어도 여과없이 나타내며, na.fail()은 NA가..