【发布时间】:2018-05-22 21:25:23
【问题描述】:
我正在尝试在我的 DataFrame 中添加一个列,该列代表许多其他列(代表单个构造的项目)的平均值。
数据框有许多其他列,但特别是 eng1、eng2、eng3...engN 列,其中 N 是一个很大的数字,我想取所有 eng* 列的平均值并将该平均值作为新列添加到我的数据集。
我可以使用以下代码做到这一点:
narrow_ds # ... initialization of dataframe
library(dplyr)
narrow_ds <- bind_cols(narrow_ds, (narrow_ds %>%
select(starts_with("eng")) %>% mutate(eng=rowMeans(., na.rm=TRUE))) %>%
select(eng))
似乎拥有 na.rm=TRUE 要求迫使我跳过一些障碍。
我的问题是是否有更直接的方法可以做到这一点?
【问题讨论】:
-
你想取所有列的平均值,还是只取一个子集?
-
它应该是(相当多)以 eng 开头的列的平均值。数据集中还有其他列我不想包含在平均值中。 (我将编辑问题以澄清。)