R данных rowmeans () расчеты [дубликаты]

Эти 3 строки работали лучше для меня:

pd.set_option('display.max_columns', None)  
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', -1)

Anaconda / Python 3.6.5 pandas: 0.23.0

38
задан Arun 26 July 2015 в 09:33
поделиться

4 ответа

Вычислить средство строки в поднаборе столбцов:

Создайте новый data.frame, который определяет первый столбец из DF как столбец с именем ID и вычисляет среднее значение для всех остальных полей этой строки, и помещает это в колонку под названием «Средства»:

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
36
ответ дан Eric Leschinski 1 September 2018 в 05:35
поделиться

Начиная с вашего фрейма данных 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
21
ответ дан BenBarnes 1 September 2018 в 05:35
поделиться

Вы можете создать новую строку с $ в вашем кадре данных, соответствующем значению

DF$Mean <- rowMeans(DF[,2:4])
11
ответ дан Jilber Urbina 1 September 2018 в 05:35
поделиться

Использование 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
0
ответ дан zx8754 1 September 2018 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: