2017-12-23 37 views
1

저는 R에 처음입니다. 몇 가지 도움이 필요합니다. 절대 주파수와 상대 주파수를 표에 표시하고 싶습니다.절대 주파수와 상대 주파수를 얻기 위해 표를 수정하십시오.

내가 무엇을 얻을 :

female male 

314 577 

[1] 891 

[1] 0.352413 

[1] 0.647587 

내가 원하는 무엇 : 이때 공백 나던 작품은 내가 그것을 나누어 |

Sex | absolute Frequency | relative Frequency 

male | 577 | 0.647587 

female | 314 | 0.352413 

코드 :

table(titanic$Sex) 
length(titanic$Sex) 
length(which(titanic$Sex == "female"))/length(titanic$Sex) 
length(which(titanic$Sex == "male"))/length(titanic$Sex) 
+1

는'titanic' (소문자't') 데이터 세트 여러 패키지가 있습니다. 어느 쪽을 사용하고 있습니까? 'prop.table'을보세요. –

답변

0

이 작동합니다 :

먼저, 여성과 남성의 수를 계산하고 data.frame

result <- as.data.frame(table(titanic$Sex)) 
에 결과를 변환

둘째, 상대 빈도를 계산하십시오. 행 수로 나누고이를 data.frame에 추가합니다.

result$rel_freq <- result$Freq/nrow(titanic) 

마지막으로 선택적으로 열 이름을 예제의 정확한 열 이름으로 변경할 수 있습니다.

colnames(result) <- c('Sex', 'absolute Frequency', 'relative Frequency') 

어쩌면 더 멋진 방법이 있을까요?

1

희망이 도움이됩니다.

library(dplyr) 
library(titanic) 

df <- data.frame(table(titanic_train$Sex)) %>% 
    mutate(Rel_Freq = Freq/sum(Freq)) %>% 
    rename(Sex=Var1) 
df 

출력은 다음과 같습니다

 Sex Freq Rel_Freq 
1 female 314 0.352413 
2 male 577 0.647587 
+1

@ MarkusEx 질문을 가까이서 생각할 수 있도록 문제를 해결하는 데 도움이된다면 [답변에 동의하십시오] (https://stackoverflow.com/help/someone-answers)해야합니다. – Prem