我可以知道是否有辦法從這個嵌套的 for 回圈中將結果列印為向量嗎?
for(i in 0:3){
for(j in 1:3){
print(0.03*(i-1) exp(-j))
}
}
uj5u.com熱心網友回復:
你是這個意思嗎?
i <- rep(0:3, each=3)
j <- rep(1:3, times=4)
0.03*(i-1) exp(-j)
[1] 0.33787944 0.10533528 0.01978707 0.36787944 0.13533528 0.04978707 0.39787944 0.16533528 0.07978707 0.42787944 0.19533528 0.10978707
R 是矢量化的,所以對于像這樣的簡單任務,不需要使用回圈。
uj5u.com熱心網友回復:
由于您想將其列印為向量,我想您只想在 for 回圈結束時列印一次。您可以做的是創建一個空向量并為每次迭代填充更多資料,如下所示:
v <- c()
for(i in 0:3){
for(j in 1:3){
v <- c(v, 0.03*(i-1) exp(-j))
}
}
print(v)
或者,您可以使用rbind()而不是c()創建一個 12x1 矩陣而不是向量
uj5u.com熱心網友回復:
保持格式完整且不使用rbind:
output <- c()
k<- 1
for(i in 0:3){
for(j in 1:3){
(0.03*(i-1) exp(-j))-> output[k]
k<- k 1
}
}
這將導致:
> output
[1] 0.33787944 0.10533528 0.01978707 0.36787944 0.13533528 0.04978707 0.39787944 0.16533528
[9] 0.07978707 0.42787944 0.19533528 0.10978707
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/329905.html
