R中选定列的行方向均值

时间:2017-10-03 17:40:25

标签: r dplyr tidyverse

让我们来说明着名的Species数据集上的问题。我需要按行应用所选函数,但仅限于所选列。示例如下:

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

因此,首先我缩放所有变量,排除.... apt 'com.google.dagger:dagger-compiler:2.11' compile 'com.google.dagger:dagger:2.11' provided 'javax.annotation:jsr250-api:1.0' provided 'org.glassfish:javax.annotation:10.0-b28' .... ,然后在所有四个数值变量上计算平均行数。但是,在真实数据集中,我有100多个数字变量,我想知道如何说服R自动包括除了所选变量之外的所有变量(例如,给定示例中的performFilter(filterBy: string): IProduct[] { filterBy = filterBy.toLocaleLowerCase(); return this.products.filter((product: IProduct) => product.productName.toLocaleLowerCase().indexOf(filterBy) !== -1); } )。我浏览SO上的解决方案(例如https://nodejs.org/en/download/releases/),但所有示例都明确引用了列名。任何指针都非常受欢迎。

编辑:经过一番调整,这是我的解决方案:

{{1}}

1 个答案:

答案 0 :(得分:8)

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

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

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

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

第一个是从退货中删除所选列的唯一一个。希望他们中的一个可以帮助你。