gpt4 book ai didi

R中选定列的逐行平均值

转载 作者:行者123 更新时间:2023-12-02 06:50:20 25 4
gpt4 key购买 nike

让我们在著名的 iris 数据集上说明问题。我需要按行应用选定的函数,但只能在选定的列上应用。示例如下:

library(tidyverse)

iris %>%
mutate_at(.funs = scale, .vars = vars(-c(Species))) %>%
rowwise() %>%
mutate(my_mean=mean(c(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width)))

所以,首先我缩放所有变量,不包括 Species,然后计算所有四个数值变量的平均行数。但是,在实际数据集中,我有 100 多个数字变量,我想知道如何说服 R 自动包含除所选变量之外的所有变量(例如,给定示例中的 Species)。我浏览了 SO 上的解决方案(例如 this ),但所有示例都明确引用了列名。非常欢迎任何指针。

编辑:经过一番修改后,这是我的解决方案:

iris %>%
as_tibble() %>%
mutate_at(.funs = scale, .vars = vars(-c(Species))) %>%
transmute(Species, row_mean = rowMeans(select(., -Species)))

最佳答案

我不确定我到底是什么问题,但这里有一些替代的 dplyr 解决方案,它们可以为您提供除所选列之外的所有列的平均值:

iris %>%
select(-Species) %>%
mutate(Means = rowMeans(.))

iris %>%
mutate(Means = rowMeans(.[,1:4]))

iris %>%
mutate(Means = rowMeans(.[,-5]))

第一个是唯一从返回中消除所选列的列。希望其中一个对您有所帮助。

关于R中选定列的逐行平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46550403/

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