计算排除R中某些列的行的平均值

时间:2020-02-27 13:16:41

标签: r

我是R和Stack Overflow的新手,很抱歉,如果我以怪异的方式问这个问题。

我有一个通过调查获得的数据集。在这项调查中,有一个变量子集被分组在一起,我想获得这些变量子集的平均值。

因此,例如:我想要使用na.rm = TRUE的受访者/第138行第18-22列的平均值

有可能吗?

1 个答案:

答案 0 :(得分:1)

使用dplyr可以轻松完成。在示例中,df是数据集名称,而columavg将是存储新值的列。

library(dplyr)

df = df %>%
     mutate(columavg = case_when(row_number() == 138 ~ rowMeans(.[18:22], na.rm=TRUE),
                                 TRUE ~ 0))

或者如果您只想使用单个值

rowMeans(df[138,18:22], na.rm=TRUE)[[1]]