2014-02-19 4 views
0

의 마지막 1, 2, 3, ... 요소의 평균을 얻기 위해 내가 가진 내가 빨리 지난 1, 2의 중간을 얻는 방법방법 벡터

vec<-c(1,5,3,6,10) 

같은 벡터, 3, ... 목록의 요소들? 즉, 나는 그래서 내 최종 결과는 C (10,8,6,4.5,3)에 벡터 동일해야 다음 부분 벡터

c(10) 
c(6,10) 
c(3,6,10) ... 

의 각각의 평균을 반환합니다. 나는 median (tail (vec, n))을 사용하여 마지막 n 요소의 중앙값을 구할 수 있음을 알고 있지만, 느린 for 루프를 사용하지 않고 길이 1 (vec)의 n에 대해 어떻게 적용합니까? tail를 사용하여 예를 들어

답변

1

, 당신이 당신의 벡터를 통해 루프가 n 번째 마지막 요소를 추출 할 수 있습니다 :

sapply(seq_along(vec), 
     function(x)median(tail(vec,x))) 
[1] 10.0 8.0 6.0 5.5 5.0