在 RI 中需要有第一個和第二個值的平均值,然后是第一個和第三個值,等等......然后是第二個和第一個值的平均值,所以它變成了 96,因為這是我的檔案有多少個值(總共,我需要 9216 個這樣的平均值)最好以自動方式進行,例如在回圈中

uj5u.com熱心網友回復:
您能否至少提供您指定的示例中的示例輸出是什么樣的?作為描述的一部分,很難將您的單詞問題與etc... 聯系起來。
uj5u.com熱心網友回復:
您應該始終提供可重現的資料,例如:
set.seed(42)
N <- 96
X <- round(runif(N, 1000, 9999))
str(X)
# num [1:96] 9232 9433 3575 8473 6775 ...
現在你想要所有可能對的平均值:
pairs <- expand.grid(seq(N), seq(N))
str(pairs)
# 'data.frame': 9216 obs. of 2 variables:
# $ Var1: int 1 2 3 4 5 6 7 8 9 10 ...
# $ Var2: int 1 1 1 1 1 1 1 1 1 1 ...
# - attr(*, "out.attrs")=List of 2
# ..$ dim : int [1:2] 96 96
# ..$ dimnames:List of 2
# .. ..$ Var1: chr [1:96] "Var1= 1" "Var1= 2" "Var1= 3" "Var1= 4" ...
# .. ..$ Var2: chr [1:96] "Var2= 1" "Var2= 2" "Var2= 3" "Var2= 4" ...
現在計算均值:
X.mn <- apply(pairs, 1, function(x) mean(c(X[x[1]], X[x[2]])))
str(X.mn)
# num [1:9216] 9232 9332 6404 8852 8004 ...
summary(X.mn)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 1002 4349 5707 5709 7154 9899
一旦您知道如何使用矢量化,您通常可以消除對回圈的需要。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/371133.html
上一篇:帶有串列和陣列的python回圈
下一篇:Django與Heroku
