R中选定列的行式平均值 [英] Rowwise mean on selected columns in R

查看:0
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆