簡體   English   中英

使用R在矩陣中平均象限

[英]Averaging quadrants in a matrix using R

我試圖在24X16 matrix平均4個象限的象限。 矩陣被分成三(3-8X16s)並且在每個部分中都有重復的象限,分別被指定為中高(這些是實驗條件)。

我的問題有兩個:1)我試圖取消列出4的選擇以計算均值,然后對下一個4的選擇重復該過程,直到我完成了第三個選擇。 將所有這些值並置為名稱lo_siRNA_average會返回"unexpected symbol"錯誤:

lo_siRNA_average <- c(mean(unlist(expData[1:2,1:2])), mean(unlist(expData[3:4,1:2])), mean(unlist(expData[5:6,1:2])), mean(unlist(expData[7:8,1:2])), mean(unlist(expData[9:10,1:2])), mean(unlist(expData[11:12,1:2])), mean(unlist(expData[13:14,1:2])), mean(unlist(expData[15:16,1:2])) mean(unlist(expData[1:2,3:4])), mean(unlist(expData[3:4,3:4])), mean(unlist(expData[5:6,3:4])), mean(unlist(expData[7:8,3:4])), mean(unlist(expData[9:10,3:4])), mean(unlist(expData[11:12,3:4])), mean(unlist(expData[13:14,3:4])), mean(unlist(expData[15:16,3:4])), mean(unlist(expData[1:2,5:6])), mean(unlist(expData[3:4,5:6])), mean(unlist(expData[5:6,5:6])), mean(unlist(expData[7:8,5:6])), mean(unlist(expData[9:10,5:6])), mean(unlist(expData[11:12,5:6])), mean(unlist(expData[13:14,5:6])), mean(unlist(expData[15:16,5:6])), mean(unlist(expData[1:2,7:8])), mean(unlist(expData[3:4,7:8])), mean(unlist(expData[5:6,7:8])), mean(unlist(expData[7:8,7:8])), mean(unlist(expData[9:10,7:8])), mean(unlist(expData[11:12,7:8])), mean(unlist(expData[13:14,7:8])), mean(unlist(expData[15:16,7:8])))
Error: unexpected symbol in "(expData[1:2,1:2])), mean(unlist(expData[3:4,1:2])), mean(unlist(expData[5:6,1:2])), mean(unlist(expData[7:8,1:2])), mean(unlist(expData[9:10,1:2])), mean(unlist(expData[11:12,1:2])), mean(unl"

2)有沒有辦法將矩陣位置自動循環成​​循環,所以不會那么長?

如上所述:重塑矩陣並使用apply / aggregate。

library(reshape2)

set.seed(1)
expData <- matrix(rnorm(24*16), ncol = 16)

df <- melt(expData)
df$rowInd <- rep(1:8, each = 3)
df$colInd <- rep(1:8, each = 48)

res <- aggregate(value ~ rowInd + colInd, df, mean)

# Check if this is what you want:
aggregate(value ~ rowInd + colInd, df, mean)[1,"value"] == mean(expData[1:3, 1:2])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM