기본 콘텐츠로 건너뛰기

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

R 데이터의 집계 및 재구성

내용 전치(transpose) 데이터의 집계 reshape 패키지 melting casting 데이터의 집계 및 재구성(aggregation and restructuring) R은 데이터를 집계하고 재구성하기 위한 여러 가지 강력한 방법을 제공합니다. 데이터를 집계할 때 관찰 그룹을 해당 관찰을 기반으로 하는 요약 통계로 바꿉니다. 데이터를 재구성할 때 데이터가 구성되는 방식을 결정하는 구조(행 및 열)를 변경합니다. 이 섹션에서는 이러한 작업을 수행하는 다양한 방법에 대해 설명합니다. 다음 두 하위 섹션에서는 R의 기본 설치에 포함된 mtcars 데이터 프레임을 사용할 것입니다. Motor Trend Magazine(1974)에서 추출한 이 데이터 세트는 설계 및 성능 특성(실린더 수, 배기량, 마력, mpg 등) 34대용. 데이터세트에 대한 자세한 내용은 help(mtcars)를 참조하세요. 전치(transpose) 전치는 데이터의 구조 즉, 행과 열을 교환하는 것입니다. 함수 t() 를 사용합니다. cars<-mtcars[1:5, 1:4] cars mpg cyl disp hp Mazda RX4 21.0 6 160 110 Mazda RX4 Wag 21.0 6 160 110 Datsun 710 22.8 4 108 93 Hornet 4 Drive 21.4 6 258 110 Hornet Sportabout 18.7 8 360 175 t(cars) MazdaRX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout mpg 21 21 22.8 21.4 18.7 cyl

R 제어구문(Control flow)과 사용자정의함수

내용 반복문 for 문 while 문 조건문 if ~ else ifelse switch 사용자 정의 함수(user-written function) 제어구문(Control flow)과 사용자정의함수 일반적으로 R 프로그램의 명령문은 프로그램의 상단에서 하단으로 순차적으로 실행됩니다. 그러나 특정 조건이 충족되는 경우에만 다른 명령문을 실행하면서 일부 명령문을 반복적으로 실행할 수 있습니다. 이것이 제어 흐름 구조가 들어오는 곳입니다. 이 제어흐름은 조건을 판단하기 위한 조건문과 유사한 명령을 반복적으로 실행할 수 있는 반복문이 있습니다. R에서 명령을 전달하는 구문을 크게 구분하면 다음과 같습니다. statement: 단일 문과 복합문이 있습니다. 여러 문들을 같이 입력하는 복합문의 경우 중간괄호('{ }')로 묶여있거나 세미콜론(';')으로 구분합니다. cond: true 또는 false로 확인되는 표현식(expression)입니다. expr: 숫자 또는 문자열로 평가되는 명령문입니다. seq: 일련의 숫자 또는 문자열입니다. 반복문 유사한 명령을 반복하는 문으로 for문과 while 문을 사용합니다. for 문 for (변수 in seq) statement seq에 포함된 모든 요소들을 사용할 때까지 statement가 지속됩니다. for (i in 1:5) print(i) [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 while 문 while (cond) statement cond 즉, 조건이 FALSE가 될 때까지 statement가 지속됩니다. i<-0 while(i < 5) { print(i) i<-i+1 } [1] 0 [1] 1 [1] 2 [1] 3 [1] 4 이러한 반복문은 apply 계열의 함수들로 대체할 수 있으며 규모가 큰 데이터의 경우 ap

R apply, lapply, sapply 그리고 tapply함수

Applying functions 자료에서 원자별, 그룹별로 함수등을 적용할 경우 apply 계열의 함수를 사용합니다. 예를 들어 행렬, 배열, 데이터 프레임의 지정된 차원에 함수를 적용하거나 리스트의 각 인덱스별로 함수등을 적용할 경우 control 문을 대신하여 사용합니다. 이 계열의 함수들의 기본 목적은 같지만 입력과 출력의 데이터 형태에서 차이를 보입니다. apply(x, margin, Fun, ...) margin: 차원인덱스, Fun: 적용할 함수 입력: array, dataframe, 출력: vector, list, array lapply(x, Fun, ...) 입력: list, vector, dataframe, 출력: list sapply(x, Fun, ...) 입력: list, vector, dataframe, 출력: vector, array lapply()와 동일하지만 벡터나 배열을 출력 tapply(x, index, Fun, ...) index: factor를 포함한 list 입력: list, vector, factor, dataframe, 출력: vector, array set.seed(10) da<-round(matrix(runif(24), 6, 4), 3) colnames(da)<-c('one', 'two', 'three', 'four') rownames(da)<-paste('case', 1:6, sep=' ') head(da, 2) one two three four case 1 0.507 0.275 0.114 0.399 case 2 0.307 0.272 0.596 0.836 행기준의 평균 apply(da, 1, mean) case 1 case 2 case 3 case 4 case 5 case 6 0.32375 0.50275 0.56650 0.54175 0.39

R 수학과 통계등의 내장함수들

내용 함수들 수학함수 통계함수 확률함수 문자함수 유용한 함수들 데이터 관리를 위한 함수들과 제어문 함수들 수학함수 수학함수 함수 설명 abs(x) 절대값반환 abs(-4) → 4. sqrt(x) 제곱근, sqrt(25) → 5 &eqiv; 25^(0.5). ceiling(x) x보다 작지않은 가장 작은 정수 ceiling(3.21) → 4 floor(x) x보다 크지않은 가장 큰 정수 floor(3.21) → 3 trunc(x) x의 값 중 숫점 이하의 값을 버림으로서 형성된 정수 trunc(3.21) → 3 round(x, digits=n) x의 지정한 자릿수+1 에서 반올림 round(3.475, digits=2) → 3.48. signif(x, digits=n ) x를 지정된 유효 자릿수로 반올림 signif(3.475, digits=2) → 3.5. cos(x) , sin(x) , tan(x) Cosine, sine, and tangent cos(2) → -0.416. acos(x) , asin(x) , atan(x) 삼각함수의 역함수, arc-cosine, arc-sine, and arc-tangent acos(-0.416) → 2. cosh(x) , sinh(x) , tanh(x) 쌍곡선 함수인 hyperbolic cosine, sine, and tangent sinh(2) → 3.627. acosh(x) , asinh(x) , atanh(x) Hyperbolic arc-cosine, arc-sine, and arc-tangent asinh(3.627) → 2. log(x, base=n) 밑수가 a인 로그함수 log(10, 2) = log(10)/log(2) \→ 3.321928

R caracas패키지를 이용한 극한, 미분, 적분 (R에서 sympy 사용하기)

symbol과 subs() 극한(limit)을 사용하여 자연상수 발견하기 미분과 적분 식으로 값 결정 caracas패키지를 이용한 극한, 미분, 적분 symbol과 subs() 문자 s1, s2 심벌(기호)로 선언하기 위해 def_sym() 를 사용합니다. 이 함수는 symbol() 함수와 같습니다. 그러나 그 사용은 약간의 차이가 있습니다. def_sym(s1, s2);s1 #s1, s2를 선언 [caracas]: s1 s2 [caracas]: s2 str(s1) List of 1 $ pyobj:s1 - attr(*, "class")= chr "caracas_symbol" s3<-s1*s2; s3 #기호 s1, s2의 연산에 의해 선언된 기호 [caracas]: s1*s2 str(s3) #attr(*, "class")= chr "caracas_symbol" List of 1 $ pyobj:s1*s2 - attr(*, "class")= chr "caracas_symbol" subs() 함수는 기호를 다른 문자나 숫자로 대체합니다. subs(식 또는 심벌, 'caracas_symbol',대체할 문자 또는 숫자) 또는 subs('caracas_symbol',대체할 문자 또는 숫자) %>%: pipe operator는 R에서 동일한 데이터를 대상으로 연속으로 작업하게 해주는 연산자입니다. s4<-s3 %>%subs("s1", "u+v") %>% subs("s2", "u-v"); s4 [caracas]: (u - v)*(u + v) s5<-expand(s4); s5 [caracas]: 2 2 u - v tex(s5)

R list(리스트)

List 목록(list)은 R 데이터 유형 중 가장 복잡한 유형입니다. 기본적으로 목록은 개체(구성 요소)의 정렬된 컬렉션입니다. 목록을 사용하면 하나의 이름으로 다양한(관련되지 않은) 개체를 수집할 수 있습니다. 예를 들어 목록에는 벡터, 행렬, 데이터 프레임 및 기타 목록의 조합이 포함될 수 있습니다. list() 함수를 사용하여 목록을 만듭니다. t<-'List' h<-c(25, 26, 18, 39) m<-matrix(1:10, nrow=5) s<-c('one', 'two', 'three') list1<-list(title=t, age=h, m, s) list1 $title [1] "List" $age [1] 25 26 18 39 [[3]] [,1] [,2] [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10 [[4]] [1] "one" "two" "three" list는 요소들은 '$요소이름' 또는 이중 대괄호 내에 요소의 인덱스 또는 요소이름을 사용하여 호출할 수 있습니다. list1$title [1] "List" list1[[3]] [,1] [,2] [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10 list1[[3]][1] [1] 1 list1[['age']] [1] 25 26 18 39 list의 중요성 간단한 방법으로 서로 다른 정보를 구성하고 기억할 수 있습니다. 많은 R 함수의 결과는 목록을 반환합니다.

R factor(요인)

Factor 변수는 명목형(nominal), 순서형(ordinal) 또는 연속형(continumous)으로 설명할 수 있습니다. 명목 변수는 암시적 순서 없이 범주형입니다. 당뇨병(Type1, Type2)은 명목 변수의 예입니다. 데이터에서 Type1이 1로 코딩되고 Type2가 2로 코딩되더라도 순서를 의미하지 않습니다. 순서 변수는 순서를 의미하지만 양은 의미하지 않습니다. 상태(나쁨, 개선됨, 우수함)는 각각의 순서를 지정할 수 있지만 그 순서간의 차이는 명확하지 않습니다. 연속 변수는 특정 범위 내에서 임의의 값을 취할 수 있으며 순서와 양이 모두 암시됩니다. 연령(년)은 연속 변수이며 14.5 또는 22.8 및 그 사이의 값들을 사용할 수 있습니다. 15세인 사람이 14세인 사람보다 한 살 많다는 것을 알고 있습니다. R의 범주형 및 순서형 변수를 요인(factor)이라고 합니다. 요인은 데이터를 시각적으로 분석하고 표시하는 방법을 결정하기 때문에 R에서 중요하며 R의 factor() 함수는 범주형(순서형을 포함) 값을 [1... k] 범위의 정수 벡터로 저장하고(여기서 k는 명목 변수의 고유값 수) 문자열의 내부 벡터(원래 값) 이 정수에 매핑됩니다. 다음 벡터 diabetes는 두 개의 범주로 목록화 할 수 있습니다. 이렇게 데이터의 고유값들을 수준(level)이라고 합니다. factor()함수는 벡터의 값들과 level을 함께 반환합니다. diabetes<-c('type1', 'type2', 'type1', 'type1') diafact<-factor(diabetes); diafact [1] type1 type2 type1 type1 Levels: type1 type2 순서형 변수의 경우 인자 ordered=TRUE 를 첨가하여 각 목록의 순서를 지정합니다. 이 경우 순서는 기본적으로 알파벳 순으로 지정됩니다. 예를 들어 다음의 경우 excellent=1, improve