2012-12-10 2 views
0

나는 3 개의 열, 100 + 행을 포함하는 "csv"파일을 가지고 있습니다. 모든 열의 변수는 열 1에있는 데이터, 즉 "시간"에 따라 변합니다.R의 단일 열에서 어떻게 변경 사항을 찾을 수 있습니까?

Time Temp Cloud 
1100 22 1 
1102 14 1 
1104 14 2 
1106 23 1 
1108 12 1 
1110 21 2 
1112 17 2 
1114 12 3 
1116 24 3 

"클라우드"가 변경되는 경우를 알고 싶습니다. 세 번째와 여섯 번째 행], 그 행에 배치 된 다른 변수와 그 행 앞에있는 행을 얻고 싶습니다. 어떻게하면됩니까? 감사합니다.

+2

이 경우'rle'을 사용할 수 있습니다. – Tim

+0

나는 그 팀을 시험해 보았지만, 초보자로서 나는 그것을 할 수 없었다. – forochelian

+0

당신이 시도한 것을 쓰고, 효과가 있고, 효과가없는 것을 당신이 도와 준다면 당신을 도울 것입니다. – Tim

답변

1

diff이 작업을 거의 직접 수행합니다. 그것을 두 번 적용하십시오. 귀하의 예제 데이터 d를 호출하면 :

df$Change <- c(0,sign(diff(df$Cloud))) 
subset(df,Change!=0)[,4] 

이 변경이없는 행을 제거합니다

> d[c(diff(d$Cloud) != 0,FALSE) | c(FALSE, diff(d$Cloud) != 0),] 
    Time Temp Cloud 
2 1102 14  1 
3 1104 14  2 
4 1106 23  1 
5 1108 12  1 
6 1110 21  2 
7 1112 17  2 
8 1114 12  3 
1

나는 같은 것을 할 것입니다.

관련 문제