R 언어 설명 통계의 첫 번째 글 머리 기호 | 타이타닉의 다른 객실의 생존율 계산

저자 : 약간의 도우미

출처 : Dingdian은 당신을 도와줍니다

오늘 R 언어로 기술 통계를 수행하는 방법을 배우십시오. 연습하는 동안 모든 사람이 쉽게 배울 수 있도록 다음 데이터를 다운로드 할 수 있습니다.

파일 이름 : titanic.csv

링크 : https://pan.baidu.com/s/1Pj0EsaBZdnw6mHPpeVd9Aw  

암호 : yuym

R로 로컬 파일 가져 오기

데이터 관리 및 운영을 용이하게하기 위해 일반적으로 Excel에서 비교적 간단한 데이터 형식 인 .csv 형식으로 데이터를 저장합니다. .csv 형식의 데이터를 R로 가져 오려면 read.csv () 함수를 사용할 수 있습니다.

# 로컬 파일 titanic.csv를 R로 가져 와서 
# 객체 titanic  
  <-read.csv ( "// Users // Desktop // titanic.csv", header = TRUE)에 저장합니다.

1912 년 대서양에 침몰 한 거대한 유람선 타이타닉의 승객에 대한 기본 정보가 로컬 파일에 저장되어 있다고 가정합니다.

"//Users//Desktop//titanic.csv"위의 첫 번째 명령은 titanic.csv 파일의 로컬 저장소 주소입니다. 컴퓨터의 저장 위치에 따라 조정해야합니다.

두 번째 명령 헤더 = TRUE는 원본 파일의 첫 번째 줄을 파일의 열 이름으로 자동 설정 함을 의미합니다.

.csv 파일에 열 이름이 없지만 R을 가져온 후 설정하려는 경우 두 번째 명령을 header = FALSE로 설정해야합니다.

데이터 이해

이전 기사에서 언급했듯이 데이터베이스를 얻으려면 먼저 기본 정보를 이해해야합니다. 이전에 말씀 드렸으니 간략히 살펴 보겠습니다.

class (titanic) #   
객체의 데이터 구조는 
무엇입니까 
[1] "data.frame" dim (titanic) # 여러 행과 여러 열이 있는     데이터보기 [1] 1309 6names (titanic) #   데이터의 열 이름보기 [1] "pclass" "survived" "sex" "age" "sibsp" "parch"머리 (타이타닉) #    
처음 6 줄보기 꼬리 (타이타닉) #    
마지막 6 줄보기

보시다시피 타이타닉 데이터 프레임에는 1309 개의 레코드와 6 개의 변수가 있습니다.

6 가지 변수는 순서대로 계급, 생존 여부, 성별, 나이, 같은 그룹의 형제 자매 또는 배우자 수, 같은 그룹의 부모 또는 자녀 수입니다.

기술 통계

다음으로 타이타닉 데이터에 대한 기술 통계를 수행해 보겠습니다.

1. 각 객실 클래스에는 몇 명입니까?

두 가지 방법이 있습니다. 하나는 범주 형 변수 pclass에서 각 범주의 빈도를 계산하는 데 사용되는 table () 함수이고 다른 하나는 분류 및 개수 변수 모두에 적합한 기술 통계에 사용되는 summary () 함수입니다. 사용할 수 있습니다. 범주 형 변수의 빈도를 계산하려면 개수 변수의 평균과 백분위 수 등을 계산합니다.

# 방법 1 테이블 (titanic $ pclass) 1st 2nd 3rd 323277709 # 방법 2 요약 (titanic $ pclass) 1st 2nd 3rd 323277 709

2. 희생자와 생존자는 몇 명 이었습니까?

table (titanic $ survived)    
사망 생존        
809500 

3. 각 객실 클래스에서 몇 명이 죽고 몇 명이 살아 남았습니까?

이 예에서 승객 상태는 "클래스 클래스"와 "생존"의 두 가지 조건에 따라 계산되며 6 가지 가능성이 있습니다. 여전히 table () 함수를 사용하여 가능한 각 상황에 몇 명의 사람이 있는지 계산하고 교차 우발 테이블을 생성합니다.

# TAB1 TAB1에 대비 한 테이블에 저장  
  <- 테이블 (타이타닉 $는 타이타닉 $ pclass, 생존) 
TAB1의 TAB1의의 #보기 내용            
1 차 2 차 3 차 사망       
123 158 528    
살아   
(200) 119 (181)

4. 각 클래스의 생존자 비율은 얼마입니까?

아이디어는 간단합니다. 즉, 각 클래스의 생존자 수와 해당 클래스의 총 사람 수의 비율입니다.

1) 각 클래스의 생존자 수를 계산하는 방법을 살펴 보겠습니다. 위의 tab1의 두 번째 행은 단순히 추출하는 것입니다. 방법은 앞에서 설명한대로 데이터 프레임에서 행과 열을 추출하는 방법과 동일합니다.

TAB1의 TAB1 [2]의 두 번째 행 #Extract 
1 2 3   
200 119 181

2) 각 반의 총 인원은? 위의 내용도 계산되었습니다.

테이블 (타이타닉 $의 pclass) 
1 차 2 차 3 차   
323 277 709

행렬 데이터의 행 또는 열을 일괄 처리하는 기능을하는 apply () 함수를 사용하는 또 다른 방법이 있습니다.

적용 (tab1,2, sum) 
1st 2nd 3rd 
323 277709

함수에는 세 가지 명령이 있습니다. 첫 번째 명령 tab1은 처리 할 데이터를 나타내고, 두 번째 명령 2는 tab1의 각 열에 대한 처리를 나타내며, 각 행을 처리해야하는 경우 두 번째 명령은 숫자 1을 입력해야합니다. 세 번째 명령 합계는 합계를 나타냅니다.

따라서 위 문장의 의미는 tab1의 각 열을 합산하는 것, 즉 각 클래스의 총 사람 수를 계산하는 것입니다.

3) 각 클래스의 생존자 수와 해당 클래스의 총 사람 수의 비율을 찾으십시오.

# 방법 1 
tab1 [2,] / table (titanic $ pclass)       
1st 2nd 3rd     
0.6191950 0.4296029 0.2552891  
# 방법 2 
tab1 [2,] / apply (tab1,2, sum)       
1st 2nd 3rd     
0.6191950 0.4296029 0.2552891

4)이 결과가 매우보기 흉하고 과학적 연구보고에 적합하지 않다는 사실을 알게되었을 것입니다. 다음과 같이 변경합니다.

# 먼저 100을 곱합니다 
tab1 [2,] / apply (tab1,2, sum) * 100 
1st 2nd 3rd  
61.91950 42.96029 25.52891 
# 소수점 2 자리를 
반올림합니다 (tab1 [2,] / apply (tab1,2, sum) * 100 , 2)    
1 차 2 차 3 차   
61.92 42.96 25.53

round () 함수의 기능은 소수 자릿수를 유지하는 것입니다.

위의 코드에서 첫 번째 명령 tab1 [2,] / apply (tab1,2, sum) * 100은 소수를 유지해야하는 객체입니다.

두 번째 명령 2는 소수점 2 자리를 유지하는 것을 의미합니다.

5) 그러나이 결과는 분명히 틀 렸으며 백분율 기호 %를 추가하는 것은 정확합니다. paste () 함수를 사용해야합니다.이 함수의 기능은 다양한 요소를 연결하는 것입니다.이 예에서는 숫자와 백분율 기호를 연결하려고합니다.

paste (round (tab1 [2,] / apply (tab1,2, sum) * 100,2), "%", sep = "") 
"61.92 %" "42.96 %" "25.53 %"

첫 번째 명령 round (tab1 [2,] / apply (tab1,2, sum) * 100,2)는 연결될 첫 번째 부분 인 위에서 계산 된 백분율의 숫자 부분입니다.

두 번째 명령 "%"는 연결할 두 번째 부분입니다.

세 번째 명령 인 sep = ""는 두 요소 사이의 연결 기호를 나타냅니다. 여기서는 연결 기호가 필요하지 않으므로 인용 부호 ""사이에 아무것도 쓸 필요가 없습니다.

 

추천

출처blog.csdn.net/yoggieCDA/article/details/108846126