R中选定列的行式平均值 [英] Rowwise mean on selected columns in R
本文介绍了R中选定列的行式平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
让我们在著名的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中选定列的行式平均值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文