3 回答

TA貢獻2003條經驗 獲得超2個贊
計算列子集上的行均值:
創(chuàng)建一個新的data.frame,它將DF中的第一列指定為ID列,并計算該行上所有其他字段的均值,并將其放入名為“ Means”的列中:
data.frame(ID=DF[,1], Means=rowMeans(DF[,-1]))
ID Means
1 A 3.666667
2 B 4.333333
3 C 3.333333
4 D 4.666667
5 E 4.333333

TA貢獻1936條經驗 獲得超7個贊
從數據框開始DF,您可以使用以下data.table包:
library(data.table)
## EDIT: As suggested by @MichaelChirico, setDT converts a
## data.frame to a data.table by reference and is preferred
## if you don't mind losing the data.frame
setDT(DF)
# EDIT: To get the column name 'Mean':
DF[, .(Mean = rowMeans(.SD)), by = ID]
# ID Mean
# [1,] A 3.666667
# [2,] B 4.333333
# [3,] C 3.333333
# [4,] D 4.666667
# [5,] E 4.333333

TA貢獻1876條經驗 獲得超7個贊
使用dplyr:
library(dplyr)
# exclude ID column then get mean
DF %>%
transmute(ID,
Mean = rowMeans(select(., -ID)))
要么
# select the columns to include in mean
DF %>%
transmute(ID,
Mean = rowMeans(select(., C1:C3)))
# ID Mean
# 1 A 3.666667
# 2 B 4.333333
# 3 C 3.333333
# 4 D 4.666667
# 5 E 4.333333
- 3 回答
- 0 關注
- 490 瀏覽
添加回答
舉報