大家好,我正在使用 200 個這樣的向量:
x_1
x_2
x_3
.
.
x_200
所以我想做一個for回圈來像這樣改變每個向量的值
for (i in 1:200){
x_i <- runif(1000,min = 0, max = 1)
}
但我不知道如何讓 r 意識到我想在每次迭代中修改 xi 向量的 i 。
uj5u.com熱心網友回復:
利用assign
for (i in 1:200){
assign(paste0("x_", i), runif(1000,min = 0, max = 1))
}
uj5u.com熱心網友回復:
您可以嘗試將它們存盤在串列中以使其更整潔。這通常比在您的全域環境中有很多事物的名稱更可取。
n = 200
vector_list = lapply(1:n, function(x) runif(1000, min = 0, max = 1))
names(vector_list) = paste0("x_", 1:n)
然后訪問一個元素,如:
> vector_list["x_3"]
$x_3
[1] 0.293589555 0.878310051 0.149773513 0.888951762 0.413800260 0.239410186
[7] 0.318712166 0.409540908 0.107566600 0.578909791 0.337214331 0.893359107
...
并對它們執行功能
sapply(vector_list, mean)
x_1 x_2 x_3 x_4 x_5 x_6 x_7 x_8
0.4926471 0.4829152 0.4916485 0.4847532 0.5015119 0.4862118 0.5048847 0.4946440
x_9 x_10 x_11 x_12 x_13 x_14 x_15 x_16
0.5161292 0.4966456 0.4840273 0.4993027 0.4994515 0.4963940 0.5087290 0.4906113
x_17 x_18 x_19 x_20 x_21 x_22 x_23 x_24
0.5100324 0.5095015 0.5058597 0.5093545 0.5130095 0.4902518 0.5152354 0.4963284
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505735.html
