R 데이터 시각화. 방법론적 매뉴얼 "R을 이용한 데이터의 통계적 분석 및 시각화" 통계환경의 주요 구성요소 r

지난 번(2014년 11월; 계속하는 데 시간이 너무 오래 걸려서 매우 부끄럽습니다!) 루프 및 조건부 블록과 같은 일반적인 제어 구조가 모두 있음에도 불구하고 R 언어의 기본 기능에 대해 이야기했습니다. 반복 기반 데이터 처리에 대한 고전적인 접근 방식은 R의 루프 때문에 최상의 솔루션과는 거리가 멀습니다. 비정상적으로느린. 이제 계산 과정에서 결과를 기다리느라 커피를 너무 많이 마시지 않도록 실제로 데이터를 사용하여 작업하는 방법을 알려 드리겠습니다. 또한 R에서 최신 데이터 시각화 도구를 사용하는 방법에 대해 이야기하는 데 시간을 할애하겠습니다. 실제로 데이터 처리 결과를 제시하는 편의성은 결과 자체만큼 중요하기 때문입니다. 간단한 것부터 시작해 보겠습니다.

벡터 연산

우리가 기억하는 것처럼 R의 기본 유형은 숫자가 아니라 벡터이며 기본 산술 연산은 벡터에서 요소별로 작동합니다.

>x<- 1:6; y <- 11:17 >x + y 12 14 16 18 20 22 18 > x > 2 거짓 거짓 참 참 참 참 > x * y 11 24 39 56 75 96 17 > x / y 0.09090909 0.16666667 0.23076923 0.28571429 0.3 3333333 0.37500000 0.05882353

여기에 있는 모든 것은 매우 간단하지만 질문하는 것은 매우 논리적입니다. 벡터의 길이가 일치하지 않으면 어떻게 될까요? k라고 쓰면<- 2, то будет ли x * k соответствовать умножению вектора на число в математическом смысле? Короткий ответ - да. В более общем случае, когда длина векторов не совпадает, меньший вектор просто продолжается повторением:

>z<- c(1, 0.5) >x * z 1 1 3 2 5 3

상황은 행렬과 거의 동일합니다.

>x<- matrix(1:4, 2, 2); y <- matrix(rep(2,4), 2, 2) >x * y [,1] [,2] 2 6 4 8 > x / y [,1] [,2] 0.5 1.5 1.0 2.0

이 경우 비트별 행렬 곱셈이 아닌 "일반" 행렬 곱셈은 다음과 같습니다.

> x %*% y [,1] [,2] 8 8 12 12

물론 이 모든 것은 매우 훌륭하지만 벡터나 행렬의 요소에 자체 함수를 적용해야 할 때 어떻게 해야 합니까? 즉, 루프 없이 이 작업을 어떻게 수행할 수 있습니까? 이 문제를 해결하기 위해 R이 사용하는 접근 방식은 우리가 함수형 언어에서 사용했던 것과 매우 유사합니다. Python이나 Haskell의 map 함수를 연상시킵니다.

유용한 기능 lapply와 그 친구들

이 제품군의 첫 번째 기능은 lapply입니다. 목록이나 벡터의 각 요소에 주어진 함수를 적용할 수 있습니다. 또한 인수 유형에 관계없이 결과는 정확히 목록입니다. 람다 함수를 사용하는 가장 간단한 예:

>q<- lapply(c(1,2,4), function(x) x^2) >q 1 4 16

목록이나 벡터에 적용하려는 함수에 둘 이상의 인수가 필요한 경우 해당 인수는 lapply를 통해 전달될 수 있습니다.

>q<- lapply(c(1,2,4), function(x, y) x^2 + y, 3)

이 함수는 목록과 비슷한 방식으로 작동합니다.

>x<- list(a=rnorm(10), b=1:10) >랩플리(x, 평균)

여기서 rnorm 함수는 정규분포(이 경우 0부터 1까지의 10개의 정규분포 숫자)를 지정하고, 평균은 평균값을 계산합니다. sapply 함수는 결과를 단순화한다는 점을 제외하면 lapply 함수와 완전히 동일합니다. 예를 들어, 목록의 각 요소의 길이가 1이면 목록 대신 벡터가 반환됩니다.

> sapply(c(1,2,4), 함수(x) x^2) 1 4 16

결과가 동일한 길이의 벡터 목록인 경우 함수는 행렬을 반환하지만 명확한 것이 없으면 lapply와 같은 목록만 반환합니다.

>x<- list(1:4, 5:8) >sapply(x, 함수(x) x^2) [,1] [,2] 1 25 4 36 9 49 16 64

행렬을 사용하려면 적용 기능을 사용하는 것이 편리합니다.

>x<- matrix(rnorm(50), 5, 10) >적용(x, 2, 평균) > 적용(x, 1, 합계)

여기서는 먼저 5개의 행과 10개의 열로 구성된 행렬을 만든 다음 먼저 열에 대한 평균을 계산하고 행의 합계를 계산합니다. 그림을 완성하려면 행의 평균과 합계를 계산하는 작업이 매우 일반적이어서 R이 이 목적을 위해 rowSums, rowMeans, colSums 및 colMeans를 위한 특수 함수를 제공한다는 점에 유의해야 합니다.
Apply 함수는 다차원 배열에도 사용할 수 있습니다.

> 도착<- array(rnorm(2 * 2 * 10), c(2, 2, 10)) >적용(arr, c(1,2), 평균)

마지막 호출은 더 읽기 쉬운 옵션으로 대체될 수 있습니다.

> rowMeans(arr, 희미한 = 2)

lapply의 다차원적 유사체인 mapply 함수로 넘어가겠습니다. 표준 R 문서에서 직접 찾을 수 있는 간단한 예부터 시작해 보겠습니다.

> mapply(rep, 1:4, 4:1) 1 1 1 1 2 2 2 3 3 4

보시다시피, 여기서 일어나는 일은 두 시퀀스에서 생성된 매개변수 세트에 rep 함수가 적용된다는 것입니다. rep 함수 자체는 단순히 첫 번째 인수를 두 번째 인수로 지정된 횟수만큼 반복합니다. 따라서 이전 코드는 다음과 같습니다.

> 목록(대표(1,4), 대표(2,3), 대표(3,2), 대표(4,1))

때로는 배열의 일부에 함수를 적용해야 하는 경우도 있습니다. 이는 tapply 기능을 사용하여 수행할 수 있습니다. 다음 예를 살펴보겠습니다.

>x<- c(rnorm(10, 1), runif(10), rnorm(10,2)) >에프<- gl(3,10) >Tapply(x,f,평균)

먼저, 분포가 서로 다른 확률 변수로 구성되는 벡터를 만든 다음 10개, 2개, 3개를 초과하지 않는 요인 벡터를 생성합니다. 그런 다음 해당 그룹의 평균을 계산합니다. 기본적으로 tapply 기능은 결과를 단순화하려고 시도합니다. 이 옵션은 단순화=FALSE를 매개변수로 지정하여 비활성화할 수 있습니다.

> tapply(x, f, 범위, 단순화=FALSE)

사람들이 적용 함수에 관해 이야기할 때, 그들은 일반적으로 tapply와 유사하게 벡터를 여러 조각으로 나누는 분할 함수에 대해서도 이야기합니다. 따라서, Split(x, f)를 호출하면 세 개의 벡터 목록을 얻게 됩니다. 따라서 lapply/split 쌍은 단순화 값을 FALSE로 설정하여 tapply와 동일하게 작동합니다.

> lapply(split(x, f), 평균)

분할 기능은 벡터 작업 외에도 유용합니다. 데이터 프레임 작업에도 사용할 수 있습니다. 다음 예를 고려하십시오(저는 Coursera의 R 프로그래밍 과정에서 빌렸습니다).

> 라이브러리(데이터 세트) > 헤드(공기질) 오존 Solar.R 풍속 월 일 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 5 NA NA 14.3 56 5 5 6 28 NA 14.9 66 5 6 > 초<- split(airquality, airquality$Month) >lapply(s, function(x) colMeans(x[, c("오존", "Solar.R", "바람")]))

여기에서는 공기 상태(오존, 태양 복사, 바람, 화씨 온도, 월 및 일)에 대한 정보가 포함된 데이터 세트를 사용하고 있습니다. 코드에 표시된 대로 분할 및 lapply를 사용하여 월간 평균을 쉽게 보고할 수 있습니다. 그러나 sapply를 사용하면 더 편리한 형식의 결과를 얻을 수 있습니다.

> sapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")])) 5 6 7 8 9 오존 NA NA NA NA Solar.R NA 190.16667 216.483871 NA 167.4333 바람 11.62258 10.26667 8.941935 8.793548 10.1800

보시다시피 일부 값 값은 정의되지 않았습니다(이를 위해 예약된 값 NA가 사용됨). 이는 Ozone 및 Solar.R 열의 일부(적어도 하나) 값도 정의되지 않았음을 의미합니다. 이러한 의미에서 colMeans 함수는 완전히 올바르게 작동합니다. 정의되지 않은 값이 있으면 평균이 정의되지 않습니다. na.rm=TRUE 매개변수를 사용하여 함수가 NA 값을 무시하도록 하면 문제를 해결할 수 있습니다.

> sapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")], na.rm=TRUE)) 5 6 7 8 9 오존 23.61538 29.44444 59.115385 59.961538 31.44828 Solar.R 181.29630 190.16667 216.483871 171.857143 167.43333 풍력 11.62258 10.26667 8.941935 8.793548 10.18000

매우 유사한 문제를 해결하기 위해 왜 그렇게 많은 기능이 필요한가요? 나는 이 질문을 이 모든 것을 읽은 모든 두 번째 사람이 물어볼 것이라고 생각합니다. 이 모든 함수는 실제로 루프를 사용하지 않고 벡터 데이터를 처리하는 문제를 해결하려고 합니다. 그러나 높은 데이터 처리 속도를 달성하는 것과 루프 및 조건문과 같은 제어 구성이 제공하는 유연성 및 제어 기능 중 일부를 얻는 것은 전혀 다른 문제입니다.

데이터 시각화

R 시스템은 데이터 시각화 도구가 엄청나게 풍부합니다. 그리고 여기서 나는 어려운 선택에 직면했습니다. 지역이 너무 크면 무엇에 대해 이야기해야합니까? 프로그래밍의 경우 기본 기능 세트가 있고 이 기능 없이는 아무것도 할 수 없다면 시각화에는 엄청난 수의 다양한 작업이 있으며 각 작업은 (원칙적으로) 여러 가지 방법으로 해결할 수 있습니다. 장점과 단점이 있습니다. 게다가 이러한 문제를 다양한 방식으로 해결할 수 있는 옵션과 패키지도 항상 많이 있습니다.
R의 표준 시각화 도구에 대해 많은 내용이 작성되었으므로 여기서는 좀 더 흥미로운 것에 대해 이야기하고 싶습니다. 최근에는 패키지가 점점 인기를 얻고 있습니다. ggplot2, 그에 대해 이야기합시다.

ggplot2 작업을 시작하려면 install.package("ggplot2") 명령을 사용하여 라이브러리를 설치해야 합니다. 다음으로 연결하여 사용합니다.

> library("ggplot2") > 헤드(다이아몬드) 캐럿 컷 색상 선명도 깊이 테이블 가격 x y z 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31 3 0.23 Good E VS1 56. 9 65 327 4.05 4.07 2.31 4 0.29 프리미엄 I VS2 62.4 58 334 4.20 4.23 2.63 5 0.31 좋음 J SI2 63.3 58 335 4.34 4.35 2.75 6 0.24 매우 좋음 J VVS2 62.8 57 3 36 3.9 4 3.96 2.48 > 헤드(mtcars) mpg cyl disp hp drat wt qsec 대 am 기어 탄수화물 Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 .85 2. 320 18.61 1 1 4 1 호넷 4 드라이브 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 호넷 스포츠어바웃 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 발리언트 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

Diamonds 및 mtcars 데이터는 ggplot2 패키지의 일부이며 이제 우리가 작업할 대상이 바로 그것입니다. 첫 번째로는 모든 것이 명확합니다. 이는 다이아몬드에 대한 데이터(투명도, 색상, 비용 등)이고, 두 번째 세트는 생산된 자동차의 도로 테스트 데이터(갤런당 마일 수, 실린더 수...)입니다. 1973년부터 1974년까지 미국 잡지 Motor Trends에서. 데이터에 대한 더 자세한 정보(예: 차원성)는 ?diamonds 또는 ?mtcars 를 입력하여 얻을 수 있습니다.

시각화를 위해 패키지는 많은 기능을 제공하며 그 중 qplot이 현재 우리에게 가장 중요합니다. ggplot 기능을 사용하면 프로세스를 훨씬 더 효과적으로 제어할 수 있습니다. qplot으로 할 수 있는 모든 일은 ggplot으로도 할 수 있습니다. 간단한 예를 들어 이를 살펴보겠습니다.

> qplot(명확성, 데이터=다이아몬드, 채우기=컷, geom="바")

ggplot 함수를 사용하여 동일한 효과를 얻을 수 있습니다.

> ggplot(다이아몬드, aes(명확성, 채우기=컷)) + geom_bar()

그러나 qplot을 호출하는 것이 더 간단해 보입니다. 그림에서. 1에서는 컷팅 품질이 서로 다른 다이아몬드 수의 선명도에 대한 의존성이 어떻게 표시되는지 확인할 수 있습니다.

이제 자동차 연료 단위당 주행거리의 질량에 대한 의존성을 플롯해 보겠습니다. 결과 산점도(또는 산점도) 산포도) 제시
그림에서. 2.

> qplot(wt, mpg, 데이터=mtcars)

1/4마일 가속 시간(qsec)의 컬러 표시를 추가할 수도 있습니다.

> qplot(wt, mpg, 데이터=mtcars, 색상=qsec)

시각화할 때 데이터를 변환할 수도 있습니다.

> qplot(log(wt), mpg - 10, 데이터=mtcars)

경우에 따라 개별 색상 구분이 연속 색상 구분보다 더 대표적으로 나타납니다. 예를 들어, 가속 시간 대신 실린더 수에 대한 색상 정보를 표시하려면 해당 값이 본질적으로 이산적임을 나타내야 합니다(그림 3).

> qplot(wt, mpg, 데이터=mtcars, 색상=인수(cyl))

예를 들어 size=3 을 사용하여 점의 크기를 변경할 수도 있습니다. 흑백 프린터로 그래프를 인쇄하려면 컬러를 사용하지 않고 요인에 따라 마커의 모양을 변경하는 것이 좋습니다. color=factor(cyl) 을 Shape=factor(cyl) 로 바꾸면 됩니다.
플롯 유형은 geom 매개변수를 사용하여 지정하며, 산점도의 경우 이 매개변수의 값은 "points" 입니다.

이제 해당 실린더 값을 사용하여 자동차 수에 대한 히스토그램을 작성한다고 가정해 보겠습니다.

> qplot(factor(cyl), 데이터=mtcars, geom="bar") > qplot(factor(cyl), data=mtcars, geom="bar", color=factor(cyl)) > qplot(factor(cyl) , 데이터=mtcars, geom="bar", fill=factor(cyl))

첫 번째 호출은 단순히 서로 다른 실린더 값에 대해 세 개의 히스토그램을 그립니다. 히스토그램에 색상을 추가하려는 첫 번째 시도에서는 예상한 결과가 나오지 않습니다. 검은색 막대는 여전히 검은색이지만 색상이 있는 윤곽선만 갖게 됩니다. 그러나 qplot에 대한 마지막 호출은 그림 1에 표시된 것처럼 아름다운 히스토그램을 생성합니다. 4.

우리는 여기서 분명히 해야 합니다. 사실 우리가 만든 현재 객체는 엄밀한 의미의 히스토그램이 아닙니다. 일반적으로 히스토그램은 연속 데이터에 대한 유사한 표시입니다. 영어로 막대 차트(그것이 우리가 방금 한 일입니다) 그리고 히스토그램- 이것은 두 가지 다른 개념입니다(Wikipedia의 해당 기사 참조). 여기서는 데이터의 본질이 그 자체로 말해준다고 믿으며 두 개념 모두에 대해 다소 무거워도 "히스토그램"이라는 단어를 사용하겠습니다.

그림으로 돌아가면 1이면 ggplot2는 플롯 위치 지정을 위한 몇 가지 유용한 옵션을 제공합니다(기본값은 position="stack"입니다).

> qplot(clarity, data=diamonds, geom="bar", fill=cut, position="dodge") > qplot(clarity, data=diamonds, geom="bar", fill=cut, position="fill") > qplot(명확성, 데이터=다이아몬드, geom="bar", fill=cut, position="identity")

제안된 옵션 중 첫 번째는 그림 1과 같이 다이어그램을 나란히 작성하는 것입니다. 그림 5에서 두 번째는 주어진 순도의 총 다이아몬드 수에서 다양한 컷 품질의 다이아몬드가 차지하는 비중을 보여줍니다(그림 6).

이제 실제 히스토그램의 예를 살펴보겠습니다.

> qplot(캐럿, 데이터=다이아몬드, geom="히스토그램", 대역폭=0.1) > qplot(캐럿, 데이터=다이아몬드, geom="히스토그램", 대역폭=0.05)

여기서 대역폭 매개변수는 히스토그램에서 대역이 얼마나 넓은지를 보여줍니다. 히스토그램은 어느 범위에 얼마나 많은 데이터가 있는지 보여줍니다. 결과는 도 1에 제시되어 있다. 7과 8.

때로는 모델(선형 또는 다항식)을 플롯해야 할 때 qplot에서 직접 수행하고 결과를 볼 수 있습니다. 예를 들어, 산점도 위에 직접 mpg 대 질량 중량을 표시할 수 있습니다.

> qplot(wt, mpg, data=mtcars, geom=c("점", "부드러운"))

기본적으로 지역 다항식 회귀(method="loess")가 모델로 사용됩니다. 작업 결과는 그림과 같습니다. 9, 어두운 회색 막대가 표준 오류입니다. 기본적으로 표시되며 se=FALSE 를 작성하여 끌 수 있습니다.

이 데이터에 선형 모델을 적용하려면 간단히 method=lm을 지정하면 됩니다(그림 10).

그리고 마지막으로 원형 차트를 작성하는 방법을 보여줘야 합니다.

>t<- ggplot(mtcars, aes(x=factor(1), fill=factor(cyl))) + geom_bar(width=1) >t + coord_폴라(세타="y")

여기서는 보다 유연한 ggplot 기능을 사용하겠습니다. 이는 다음과 같이 작동합니다. 먼저 총 질량에서 실린더 수가 다른 자동차의 점유율을 보여주는 그래프를 작성한 다음(그림 11) 그래프를 극좌표로 변환합니다(그림 12).

결론 대신

이제 R을 사용하는 것이 편안해졌습니다. 다음은 무엇인가요? 여기서는 ggplot2의 가장 기본적인 기능이 제공되고 벡터화와 관련된 문제가 논의된다는 점은 분명합니다. 언급할 가치가 있는 R에 관한 좋은 책이 여러 권 있으며, 그것들은 매우 방해가 되는 좋은 회사의 서비스보다 더 자주 참조할 가치가 있습니다. 첫째, 이 책은 Norman Matloff(Norman Matloff)의 The Art of R 프로그래밍 책입니다. 이미 R 프로그래밍 경험이 있다면 P. Burns가 작성한 The R Inferno가 도움이 될 것입니다. John Chambers의 고전 책인 Software for Data Analysis도 매우 적합합니다.

R의 시각화에 관해 이야기한다면 W. Chang(Winston Chang)이 쓴 좋은 책 R Graphics Cookbook이 있습니다. 이 기사의 ggplot2 예제는 튜토리얼: ggplot2에서 가져왔습니다. 다음 기사인 R의 데이터 분석 및 기계 학습에서 뵙겠습니다!

코스 프로그램

R 프로그래밍 요소

  • 기술통계 및 시각화
  • 예를 들어, 평균 수표와 일반 ​​수표 중 무엇이 더 중요합니까?

클러스터 분석

  • 어떤 문제가 해결되고 있나요? 개체 그룹을 하위 그룹으로 나눕니다.
  • 예제 작업. 사이트 세분화, 유사 사이트 식별.
  • 연구된 방법. 계층적 군집 분석, k-평균 방법, K-medoid 방법.

통계적 가설 테스트

  • 어떤 문제가 해결되고 있나요? 두 개체 그룹을 비교합니다.
  • 예제 작업. 다양한 버전의 웹사이트 페이지에서 사용자 행동에 대한 A/B 테스트.
  • 연구된 방법. 비율 검정, 스튜던트 t 검정, Livigne 검정, Wilcoxon-Mann-Whitney 검정

선형 회귀 분석.

  • 예제 작업. 관세 인상 이후 중고차 가격이 얼마나 하락했는지 추정해 보세요.
  • 연구된 방법. 변수 선택, 공선성, 영향력 있는 관찰, 잔차 분석. 비모수적 회귀(커널 평활화). 선형 회귀를 사용하여 계절 성분이 포함된 짧은 계열 예측

예측

  • 어떤 문제가 해결되고 있나요? 시계열 예측 구축
  • 예제 작업. 6개월 동안의 웹사이트 트래픽을 미리 예측해 보세요.
  • 연구중인 방법. 지수평활

머신러닝(패턴 인식)

  • 예제 작업. 각 사이트 방문자의 성별과 연령을 인식합니다.
  • 연구된 방법. K-최근접 이웃 분류 트리(CART) 방법. 랜덤 포레스트. 그라디언트 부스팅 머신

과목 성적

학생들에게는 14개의 실험실 작업이 제공됩니다. 이 강좌는 다음 규칙에 따라 등급이 매겨집니다.

  • 훌륭합니다. 모든 작업이 승인되었습니다.
  • 좋습니다. 한 작품만 제외하고 모든 작품이 승인되었습니다.;
  • 만족 – 두 작품을 제외한 모든 작품이 허용됩니다.
  • 불만족 - 다른 경우.

실험실 작업은

  • 청취자에게는 데이터 세트와 질문이 제공됩니다.
  • 청취자는 R 언어로 작성된 표, 그래프 및 스크립트를 사용하여 자신의 진술을 뒷받침하면서 질문에 답합니다.
  • 청취자는 추가 질문에 답변합니다.

샘플 질문입니다. 화학적 분석 결과를 바탕으로 와인 브랜드를 인식할 때 Random Forest 알고리즘이 최적으로 작동할 수 있는 매개변수를 제안합니다.

강좌를 수강하기 위해 알아야 할 사항

강좌 참가자는 이미 확률 이론 강좌를 수강했다고 가정합니다.

문학

  • Shipunov, Baldin, Volkova, Korobeinikov, Nazarova, Petrov, Sufiyanov 시각적 통계. R 사용
  • Masticsky, Shitikov R을 이용한 통계분석 및 데이터 시각화
  • Bishop 패턴 인식 및 기계 학습.
  • 제임스, 위튼, 헤이스티, 팁시라니. 통계 학습 소개. R의 애플리케이션을 사용하여
  • 헤이스티, 팁시라니, 프리드먼. 통계학습의 요소_데이터마이닝, 추론, 예측 2+ed
  • 크롤리. R 책.
  • Kabacoff R의 작동. R을 사용한 데이터 분석 및 그래픽.

교사

강의 목록

R 소개: 기본 명령. 중앙값, 분위수 및 사분위수. 막대 차트. 막대 차트. 파이 차트. 분산형 다이어그램. 산점도 행렬. 그래픽에 색상을 사용합니다. 수염이 있는 상자(상자 다이어그램). 일반적인 표본 관찰: 산술 평균, 중앙값 또는 절사 평균. 분석된 데이터에 적합한 일반적인 값을 설명하는 방법을 선택합니다. 로그 정규 분포. 특이치 및 극단적인 관찰.

계층적 클러스터 분석. 클러스터, 객체 간 거리, 클러스터 간 거리. 덴드로그램을 구성하는 알고리즘. 비명/팔꿈치. 데이터 표준화. 데이터를 준비할 때 흔히 저지르는 실수. 결과 해석.

K-방법을 의미합니다. 난수 센서, 센서 그레인. k-평균 방법 알고리즘의 시각화. 클러스터 수를 결정하는 방법. NbClust 라이브러리. 비명/팔꿈치. 클러스터 시각화를 위한 다차원 스케일링.

통계적 가설을 테스트합니다. 일치, 동질성, 독립성에 대한 가설, 분포 매개변수에 대한 가설.

통계적 가설을 테스트합니다. 제1종 및 제2종 오류, p-값 및 유의 수준, 통계적 가설 검정 알고리즘 및 결과 해석. 정규분포의 가설. Shapiro-Wilk 및 Kolmogorov-Smirnov 테스트. 정규성에서 미미한 편차. 샘플 비교. 독립적이고 쌍을 이루는 샘플. 스튜던트 t-테스트, Mann-Whitney-Wilcoxon 테스트 및 기분 테스트 중에서 선택합니다. 다양한 스튜던트 t-검정 및 분산 비교. 비교를 위한 시각화. 단측 및 양측 테스트.

통계적 가설을 테스트합니다. 샘플 비교. 독립적이고 쌍을 이루는 샘플. 스튜던트 t-테스트, Mann-Whitney-Wilcoxon 테스트 및 기분 테스트 중에서 선택합니다. 다양한 스튜던트 t-검정 및 분산 비교. 비교를 위한 시각화. 단측 및 양측 테스트. 독립. Pearson, Kendall 및 Spearman 상관 계수는 두 현상 간의 관계를 연구할 때 흔히 발생하는 오류입니다. 결과의 육안 검사.

선형 회귀 분석 모델, 계수 추정치 해석, 다중 결정 계수. 다중 결정 계수의 해석, 적용 범위 제한. 가장 중요한 예측변수를 식별하고 각 예측변수의 기여도를 평가합니다. 구성된 모델을 조정하기 위한 알고리즘. 공선성.

선형 회귀 분석: 짧은 시계열 예측.

계절 지표(더미, 구조) 변수를 사용한 회귀 모델을 기반으로 예측합니다. 추세, 계절 구성 요소, 계열 특성의 변화, 특이치. 로그화는 곱셈 계절성을 덧셈 계절성으로 변환하는 기술입니다. 표시변수. 재교육.

선형 회귀 - 잔차 분석. Gauss-Markov 정리의 모델 제한 위반. 잔류 분석. 사양 오류입니다. 다중공선성, 공차 및 VIF. 잔차 분산의 불변성을 확인합니다. 정규성에서 잔차 분포에 편차가 있는 경우 모델을 수정합니다. 쿡의 거리와 영향력. 더빈-왓슨 통계. 계절적 조정 횟수를 줄입니다.

지수 평활화 Holt-Winters 방법. 지역 트렌드, 지역 계절성.

용어: 기계 학습, 인공 지능, 데이터 마이닝 및 패턴 인식.

K-최근접 이웃 방법. 방법의 일관성. 게으른 학습 (게으른 학습). 기능 선택. 교차 검증. k-겹 교차 검증. 과적합. 훈련 및 테스트 샘플.

K-최근접 이웃 방법 예. 가장 가까운 이웃의 수를 결정합니다. 방법의 품질을 결정하기 위한 분할표입니다.

CART 분류 트리. 기하학적 표현. 논리적 규칙의 집합으로 표현. 트리뷰. 노드, 부모 및 자식, 리프 노드. 임계값. rpart 라이브러리. 불순물 대책. 순도 측정 방법: 지니, 엔트로피, 분류 오류. 트리 학습 규칙. 라이브러리 rpart.plot.

블로그 "R: Data Analysis and Visualization"이 운영된 지 3년 반이 넘었습니다. 몇 달 전, 그동안 여기에 출판된 방법론적 메시지를 전자책 형태로 요약하려는 아이디어가 탄생했습니다. 이 아이디어의 저자이자 이후 이 책의 공동 저자는 생물학 박사 Vladimir Kirillovich Shitikov()였습니다. 그 결과를 새해 선물로 드리게 되어 기쁘게 생각합니다.


툴킷 " R을 활용한 통계분석 및 데이터 시각화"는 주로 학생, 대학원생, 젊고 확고한 과학자뿐만 아니라 이전에 R을 사용한 경험이 없는 전문 분석가를 대상으로 합니다. 블로그의 전통에 따라 우리는 가능하면 "의식"의 남용을 피하기 위해 노력했습니다. " 응용 통계에 관한 수많은 매뉴얼의 특징적인 문구 , 잘 알려진 정리를 인용하고 다단계 계산 공식을 제시하면서 우선 실제 적용에 중점을 두었습니다. 즉, 독자가 읽은 내용에 따라 그의 데이터를 분석하고 그 결과를 동료들에게 제시합니다.

  • 1장: R 통계 환경의 기본 구성 요소
  • 2장: R 언어 설명
  • 3장: 기본 R 그래픽 기능
  • 4장: 기술 통계 및 피팅 분포
  • 5장: 통계의 고전적 방법과 기준
  • 6장: 분산 분석의 선형 모델
  • 7장: 양적 변수 간의 관계에 대한 회귀 모델
  • 8장: 일반화, 구조 및 기타 회귀 모델
  • 9장: 공간 분석 및 카토그램 생성
R에는 광범위한 참고문헌과 유용한 온라인 리소스 목록도 있습니다.

PDF 형식(~11MB)으로 된 공식 최신 버전의 책을 다음에서 사용할 수 있습니다. 무료 다운로드 두 사이트에서:

  • GitHub 저장소: https://github.com/ranalytics/r-tutorials
  • 볼가 분지 RAS 생태학 연구소 웹사이트: http://www.ievbras.ru/ecostat/Kiril/R/

동일한 두 리소스에서 책에서 설명한 예제를 재현하는 데 필요한 R 코드 스크립트와 데이터 세트를 찾을 수 있습니다.

이 작업에 관한 귀하의 의견과 제안에 감사드립니다. rtutorialsbook["dog"]gmail.com으로 이메일을 보내주십시오.

위에서 언급했듯이 이 책은 완전히 무료로 배포됩니다. 하지만, 유용하다고 생각하고 저자들에게 감사의 마음을 전하는 것이 적절하다고 판단되면 다음 버튼을 사용하여 금액을 이체할 수 있습니다. (모든 거래는 전자 결제 시스템을 통해 안전하게 이루어집니다.)



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: