2 개의 벡터가 있습니다. 벡터 "v"는 프로세스가 초 단위로 시작될 때를 나타냅니다. 벡터 u는 벡터 u에서 처리 시간이 얼마나되는지 보여줍니다.for 루프의 길이가 0 인 인수 R
각 초마다 얼마나 많은 프로세스가 작동 하는지를 나타내는 벡터를 생성하고 싶습니다. 그래서이 장난감 예제 : 두 번째 0에서 시작하는 벡터 "total"을 생성하고 (벡터의 끝을 무시하지 않음) 두 번째 프로세스에서 몇 개의 프로세스가 작동하는지 각 위치에 저장합니다. 예를 들어, 벡터의 첫 번째 위치 (시간 0)에서 코드는 1 개의 프로세스를 가질 것이라고 말합니다.
v <- c(0,1,2,3,4,5)
u <- c(1.2, 0.1, 1.2, 1, 0.5, 0)
j = 1
total <- rep(0, times = 10)
begin <- integer()
end <- integer()
repeat{
begin<- v[j] +1
end <- begin + u[j]%/%1
for(i in begin:end){
if(total[i] == 0){ total[i] <-1}
else total[i] = total[i] +1
}
if(j ==length(v)) break
j = j+1
}
total
[1] 1 2 1 2 2 1 0 0 0 0
내가 (실제 경우되지 여기)이 오류를 가지고 :
Error in begin:end : argument of length 0
(내가 사용 시도를 경우 = 최종 시작하면) 하나 개의 위치를 작동해야하지만위한 "을" .
무슨 일이있을 수 있습니까 ??
길이가 0 일 때 실제 코드를 모른 채로 시작 및 끝을 인쇄하면 내용을 설명하기 어려울 것입니다. 아마 문제는 끝의 정의에 있습니다. 왜 ['%/%'] (http://stat.ethz.ch/R-manual/R-patched/library/base/html/Arithmetic.html)을합니까? 때로는 오류가 발생할 수 있습니다. (문서를 링크 된 참조) – Llopis