R (버전 2.15.2)의 중첩 for 루프 중 올바른 결과를받지 못했습니다. 내가 인쇄 주석을 제거하면R for for 루프 출력
GCP <- matrix(nrow=143,ncol=4)
for (i in 1:13) {
for (j in 1:11) {
GCP[i*j,1] = 410*(j-1)
GCP[i*j,2] = 400*(i-1)
# print(GCP[i*j,1])
}
}
내가 기대 그냥 뭐 수신 (GCP를 [내가 j는, 1 *]) :
[1] 0
[1] 410
[1] 820
[1] 1230
[1] 1640
[1] 2050
[1] 2460
[1] 2870
[1] 3280
[1] 3690
[1] 4100
[1] 0
[1] 410
[1] 820
[1] 1230
[1] 1640
[1] 2050
[1] 2460
[1] 2870
[1] 3280
[1] 3690
[1] 4100
[1] 0
...
하지만 GCP를 입력 할 때 [1] 루프를 완료 한 후 :
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 410 820
[16] 410 NA 410 NA 410 820 410 NA 410 1640 410 820 1230 NA 820
[31] NA 1230 820 NA 1640 820 NA NA 820 1230 NA 2050 NA 1230 1640
[46] NA NA 1230 2460 1640 NA 1230 NA 2050 1640 2460 NA NA NA 1640
[61] NA NA 2460 2870 1640 2050 NA NA NA 2460 NA 2050 NA NA NA
[76] NA 2460 2050 NA 2870 3280 NA NA 2460 NA NA NA 2870 NA 3280
[91] 2460 NA NA NA NA 2870 NA NA 3280 3690 NA NA NA 2870 NA
[106] NA NA 3280 NA 3690 NA NA NA NA NA NA 3280 NA NA 3690
[121] 4100 NA NA NA NA NA NA NA NA 3690 NA 4100 NA NA NA
[136] NA NA NA NA NA NA NA 4100
내 코드는 어떻게 수정해야합니까? 당신은 본질적으로 차원 NA
와 (143,4)
의 행렬을 initalising하는
GCP <- matrix(nrow = 143, ncol = 4)
:
1의 값을 통과? – redmode
'i == 1 '이고'j == 2'일 때'GCP [2,1]'이'410'으로 설정되어 인쇄됩니다. 그러나 'i == 2'와 'j == 1'이면 GCP [2,1]은 '0'으로 덮어 쓰여지고 다시 인쇄됩니다. 그것은 당신의 의도입니까? – redmode
값을 다시 쓰는 것에 관해서는 당신이 옳습니다, 대단히 감사합니다! 내가하려는 것은'print()'가 삽입 된 것처럼'GCP [, 1]'과'GCP [, 2]를 채우는 것입니다. – user2036954