我必須創建一個for循環,它將矢量z1,正方形,然後用這些矢量創建矢量z2(是的,我知道有矢量化,但這是一個家庭作業問題)。除了某些原因,它增加了一個拖尾元素到所述向量,我已經把所有東西都弄下來了。爲什麼R向我的矢量添加額外的元素?
z1 <- c(1, 8, 19, 17, 65, 103, 48, 17, 23, 34)
# Sort z1 in descending order
z1 <- sort(z1, decreasing = TRUE)
# Create empty vector z2
z2 <- c()
for (i in 1:10){
z2[i] <- z1[i]*z1[i]
z2 <- c(z2,z2[i])
}
print(z2)
這裏是矢量它打印
[1] 10609 4225 2304 1156 529 361 289 289 64 1 1
如果您發現有11個元素,而我原來的Z1向量只有10.爲什麼?
爲什麼不使用'^ Z1 2'?但是你需要放棄這條線:'z2 < - c(z2,z2 [i])',因爲當'z2 [10]'到達'z2'已經完全分配了。 –
我的預期輸出是 [1] 10609 4225 2304 1156 529 361 289 289 64 1 – Dreambolic
另外@RichardScriven如果我刪除那條線我該如何構造顯示這些值的新矢量?我知道簡單的方法是z1^2,但問題需要我使用for循環。 – Dreambolic