-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
(오류) 섹션5 - 작업유형 1 오류 입니다
22.04.29 13:52 작성 조회수 86
0
답변을 작성해보세요.
0
companionclub
지식공유자2022.05.24
안녕하세요. 지적감사드립니다.
제가 작성한 스크립트를 보니 오타가 맞습니다. df를 두 번 입력했네요.
두 번 입력된 df를 한 번으로 바꾸면 말씀해주신대로 cabin이 맞습니다.
스크립트는 수정해서 올려두었습니다. 그럼 즐거운 하루되세요!
0
companionclub
지식공유자2022.04.30
안녕하세요. 위에 주신코드를 그대로 입력해보니 저도 그런값이 나옵니다.
확인해보니 제가 드린 코드와 괄호의 위치가 다릅니다.
괄호를 스크립트대로 하면 이상없이 결과값이 나옵니다.
괄호부분을 잘 확인하셔서 다시 한 번 실행을 해보시면 될 것 같습니다.
감사합니다.
원본 : Cabin_ratio <- (sum(is.na(df$Cabin))+sum(df$Cabin=='', na.rm = T))/nrow(df
위의코드 : Cabin_ratio <- sum(is.na(df$Cabin)+sum(df$Cabin=='', na.rm = T))/nrow(df)
요리꿈나무
2022.05.23
안녕하세요.
저도 질문자와 같이 cabin의 칼럼에서 가장 높은 수치가 나옵니다.
살펴보니 강사님의 스크립트는
Cabin_ratio <- (sum(is.na(df$Cabin))+sum(df$df$Cabin=='', na.rm = T))/nrow(df)
Embarked_ratio <- (sum(is.na(df$Embarked))+sum(df$df$Embarked=='', na.rm = T))/nrow(df)
처음에는 저 두 칼럼만 저렇게 한 이유에 대해 곰곰히 생각해보았는데요.
문자열이라서 그런가 싶었는데, Ticket 칼럼에서는 그렇지 않는 것을 보니
오타인 것 같습니다.
스크립트가 수정되어야 할 것 같네요.
따라서 결론은 Age 칼럼이 아닌 빈값이 많은 (687개)
Cabin 칼럼이 정답이 될 것 같습니다.
확인 부탁 드립니다.
> my = function(x, y){
+ (x + y) / nrow(df)}
>
>
> PassengerId = my(sum(df$PassengerId == '', na.rm = T) , sum(is.na(df$PassengerId)))
> Survived = my(sum(df$Survived == '', na.rm = T) , sum(is.na(df$Survived)))
> Pclass = my(sum(df$Pclass == '', na.rm = T) , sum(is.na(df$Pclass)))
> Name = my(sum(df$Name == '', na.rm = T) , sum(is.na(df$Name)))
> Sex = my(sum(df$Sex == '', na.rm = T) , sum(is.na(df$Sex)))
> Age = my(sum(df$Age == '', na.rm = T) , sum(is.na(df$Age)))
> SibSp = my(sum(df$SibSp == '', na.rm = T) , sum(is.na(df$SibSp)))
> Parch = my(sum(df$Parch == '', na.rm = T) , sum(is.na(df$Parch)))
> Ticket = my(sum(df$Ticket == '', na.rm = T) , sum(is.na(df$Ticket)))
> Fare = my(sum(df$Fare == '', na.rm = T) , sum(is.na(df$Fare)))
> Cabin = my(sum(df$Cabin == '', na.rm = T) , sum(is.na(df$Cabin)))
> Embarked = my(sum(df$Embarked == '', na.rm = T) , sum(is.na(df$Embarked)))
>
> df_ratio = data.frame(col = colnames(df),
+ ratio = c(PassengerId, Survived, Pclass, Name, Sex, Age, SibSp,
+ Parch, Ticket, Fare, Cabin, Embarked))
>
> df_ratio %>% arrange(desc(df_ratio$ratio))
col ratio
1 Cabin 0.771043771
2 Age 0.198653199
3 Parch 0.035914703
4 SibSp 0.011223345
5 Embarked 0.002244669
6 PassengerId 0.000000000
7 Survived 0.000000000
8 Pclass 0.000000000
9 Name 0.000000000
10 Sex 0.000000000
11 Ticket 0.000000000
12 Fare 0.000000000
답변 2