다음 공식을 계산하는 루프를 만들었습니다. values = 1 + PE-(1+ (i ^ w)) ^ (1 / w)) 여기서 PE와 w는 다음과 같이 변경됩니다.
#creation of my variables
w <- seq(1, 4, by = 0.1)
PE <- seq(1, 2, by = 0.1)
#creation of a matrix where I will be storing the results of the loop
results <- matrix(nrow= length(PE) , ncol= length(w))
#loop where w and PE are changing
for(i in PE){
for (j in w){
results <- (1+i - (1+(i^j))^(1/j))
print (results)
}
}
results
실행하면 모든 값이 인쇄되는 목록을 얻지 만 두 가지 문제가 있습니다.
i) 해당 값을 저장할 수 없습니다. 루프 외부에서 결과를 인쇄 할 때 모든 값이 아닌 1 개의 값을 얻습니다. 그래서 나는 그것들을 조작하여 행렬과 데이터 프레임을 만들 수 없습니다.
ii) 처음에는 해당 값을 저장할 행렬을 만들었으므로 루프에 추가 할 때 : results [i, j] 하나의 행렬 만 가져와야 할 때 많은 NA 값이있는 여러 행렬을 얻습니다. 이 행렬에는 11 개의 행과 31 개의 열이 있어야합니다.
results[i,j]
때문에 당신이 정의하는 방식은 작업을하지 않는 i
및 j
인덱스가되지 않은,하지만 값은 당신이 얻을되지 않도록, results[1,1], results[1,2], ...
그러나의 값 PE
과 w
대신. 그 일을 위해 당신은 사용해야 i
하고 j
수행하여 인덱스로 1:length(PE)
, 그리고 용어지고 PE
로를 PE[i]
, 그리고에 대해 동일합니다 w
.
for(i in 1:length(PE)){
for (j in 1:length(w)){
results[i,j] <- (1+PE[i] - (1+(PE[i]^w[j]))^(1/w[j]))
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다