[問題] R 的運算(平均值)

看板Statistics作者 (微喵)時間14年前 (2011/10/06 09:46), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
目前手邊有筆資料(80000*100) 要將每筆資料(100行)都減去前10筆資料(Control)的平均數 目前的寫法 nr <- 80000 nl <- 100 for(i in 1:nr){ mean_A <- mean(c(Dqn[i,1],Dqn[i,2],Dqn[i,3],Dqn[i,4],Dqn[i,5] ,Dqn[i,6],Dqn[i,7],Dqn[i,8],Dqn[i,9],Dqn[i,10])) for(j in 1:nl){ FC_HC[i,j] <- Dqn[i,j] - mean_A } } 但是發現這樣的程式很沒效率(不知道是不是因為雙迴圈的因素), 想請教是否還有更迅速的方法, 謝謝各位~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.129.5

10/06 09:58, , 1F
FC_HC <- Dqn - rowMeans(Dqn[, 1:10])
10/06 09:58, 1F

10/06 10:04, , 2F
這是你要的? Dqn-rowMeans(Dqn[,1:10])
10/06 10:04, 2F

10/06 13:47, , 3F
That is what I want. thanks
10/06 13:47, 3F
文章代碼(AID): #1EZGXiPN (Statistics)