두 개의 벡터, subject
및 target
이 있습니다. 두 개의 기존 벡터 사이의 비교를 기반으로 새로운 벡터를 만들고 싶습니다. 요소는 lagged
과 비교됩니다. 아래의 루프를 사용하여이 문제를 해결했지만 실제로는 더 우아한 솔루션이 있는지 궁금합니다. apply
?두 벡터의 요소를 비교하는 "lagged"기반의 새 벡터?
subject <- c(200,195,190,185,185,185,188,189,195,200,210,210)
target <- c(subject[1],subject[1]-cumsum(rep(perweek,length(subject)-1)))
adjtarget <- target
for (i in 1:(length(subject)-1)) {
if (subject[i] > adjtarget[i]) {
adjtarget[i+1] <- adjtarget[i]
} else {
adjtarget[i+1] <- adjtarget[i]-perweek }
}
}
주회 변수의 값은 무엇입니까? –
안녕하십니까 죄송합니다. 주일은 정수입니다. 필자의 경우, 주일 <-02 – Marianne
코드는 이해하기가 약간 까다 롭습니다. 루프에서 할당은 다음 반복에서 비교할 장소에서 'adjtarget'을 변경합니다. 일반적으로 전체 벡터를 병렬로 작업하는 R에서 이것을 표현하는 훌륭한 해결책은 없습니다. 비교 대상이 움직이는 대상입니다. –