gpt4 book ai didi

R 变异列,代表许多其他列的平均值

转载 作者:行者123 更新时间:2023-12-04 22:55:12 24 4
gpt4 key购买 nike

我正在尝试在我的 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 要求迫使我跳过一些箍。

我的问题是是否有更直接的方法来做到这一点?

最佳答案

从@MKR 窃取样本数据,以 R 为基础:

DF$eng <- rowMeans(DF[startsWith(names(DF),"eng")], na.rm = TRUE)

# # A tibble: 4 x 5
# id eng1 eng2 eng3 eng
# <int> <dbl> <dbl> <dbl> <dbl>
# 1 1 50 NA 20 35.00000
# 2 2 NA 100 10 55.00000
# 3 3 20 150 80 83.33333
# 4 4 30 200 40 90.00000

关于R 变异列,代表许多其他列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50476665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com