2017-09-18 15 views
3

저는 최근에 세 가지 데이터 프레임을 요약하는 간단한 R 스크립트를 만들었습니다. R 및 R Studio의 최신 버전으로 업데이트 한 이후로, 데이터 프레임 중 하나만 dplyr에서 summarize 함수를 사용할 때 이전에 보지 못한 결과가 나옵니다 (다른 두 가지는 괜찮습니다). 나는 또한 나에게 생소한 일련의 경고를 받는다. 업데이트하기 전에 모든 데이터 프레임에 대해 문제없이 작성된대로 스크립트를 실행했습니다.는 na.rm = TRUE를 사용할 때 -inf를 반환하는 것을 요약합니다.

문제와 데이터 프레임은 VO2라고하며 다음과 같이 자사가 설정되어

Name  Sex  VO2 
AthleteA M   50 
AthleteA M   52 
AthleteA M   NA 
AthleteB M   49 
AthleteB M   56 
AthleteB M   47 
AthleteC M   42 
AthleteC M   NA 
AthleteC M   41 
AthleteD M   NA 
AthleteD M   NA 
AthleteD M   NA 

내가 실행 코드는 다음과 같습니다

Test.Summary.VO2 = VO2 %>% group_by(Name, Sex) %>% 
summarise(Best.Score = max(VO2, na.rm=TRUE)) 

이 코드는 다음과 같은 요약을 생성합니다

Name  Sex  Best.Score 
AthleteA M  52 
AthleteB M  56 
AthleteC M  42 
AthleteD M  -Inf 

-Inf 값은 출력에서 ​​완전히 새로운 값입니다. NAs 만있는 경우 왜 지금 나타나는지 알 수 없습니다.

위에서 언급했듯이 두 번째 데이터 프레임의 레이아웃이 동일하고 동일한 유형의 요약을 실행합니다. 여기 모든 것이 잘 작동합니다. na.rm = TRUE로 요약하면 NA 사례를 -Inf 값으로 바꾸지 않고 NA 사례를 제거합니다.

View(Test.Summary.VO2) 

내가 경고 메시지의 다음 시리즈가 나타납니다 :이 조금 더 특이한 도착

내가 사용하여 데이터 프레임을 볼 때이다 스크립트에서 나중에

There were 38 warnings (use warnings() to see them) 
warnings() 
Warning messages: 
1: Unknown or uninitialised column: 'Quad'. 
2: Unknown or uninitialised column: 'Quad'. 
3: Unknown or uninitialised column: 'Quad'. 
4: Unknown or uninitialised column: 'Quad'. 

를 I "Quad"라는 새로운 변수를 생성하십시오. 그러나 위의 경고는 환경을 정리 한 후에도 나타나며 R Studio를 다시 시작합니다. 나는 심지어 .csv 파일의 이름을 변경하고 다른 데이터 프레임 이름을 사용하여 가져 오기를 시도했다. 마치 스크립트의 뒷부분에서 생성 된 'Quad'열이 환경 어딘가에 매달려있는 것처럼 보입니다.

나는 여기서 무슨 일이 일어나고 있는지에 관해서 정말로 실망하고 있습니다.

스택의 R 전문가 중 한 명이이 문제를 해결하는 방법에 대한 아이디어를 제공해주기를 바랍니다.

감사합니다.

답변

3

?max 참조 :

숫자 공집합의 최소 및 최대 Inf를하고 -Inf을 +되어 이행 성을 보장하는, 예를 들어, 최소 (X1, 분 (X2)) = (이 순서로!) = min (x1, x2). 숫자 x max (x) == -Inf 및 min (x) == + length (x) == 0 일 때마다 (요청 된 경우 누락 된 값을 제거한 후) Inf. 그러나 pmax 및 pmin은 na.rm = TRUE 인 경우에도 모든 병렬 요소가 NA이면 NA를 반환합니다.

그룹 D에 대해 NA가 아닌 값이 없기 때문에 max은 빈 세트의 값을 반환합니다.