[英]In R, how to calculate mean per column and row respectively?
我有如下數據。
Env<- c("Env1","Env2")
Genotype1<- c(7,3)
Genotype2<- c(9,5)
dataB<- data.frame(Env, Genotype1,Genotype2)
Env Genotype1 Genotype2
1 Env1 7 9
2 Env2 3 5
現在我想像下表一樣分別計算每行和每列的平均值
Env Genotype1 Genotype2 mean
1 Env1 7 9 8
2 Env2 3 5 4
mean 5 7
你能告訴我怎么做嗎?
總是非常感謝,
我們可以使用colMeans/rowMeans
和 append 將其與rbind/cbind
的數據以 R 為base R
out <- cbind(rbind(dataB, c(Env = 'mean',
as.list(colMeans(dataB[-1])))), mean = c(rowMeans(dataB[-1]), NA))
out[out$Env == "mean", "mean"] <- mean(unlist(out[out$Env == "mean", 2:3]))
-輸出
> out
Env Genotype1 Genotype2 mean
1 Env1 7 9 8
2 Env2 3 5 4
3 mean 5 7 6
另一種選擇是
addmargins(`row.names<-`(as.matrix(dataB[-1]), dataB[[1]]), FUN = mean)
Genotype1 Genotype2 mean
Env1 7 9 8
Env2 3 5 4
mean 5 7 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.