如何将 summarise_each 应用于除一列之外的所有列? [复制]

Posted

技术标签:

【中文标题】如何将 summarise_each 应用于除一列之外的所有列? [复制]【英文标题】:How to apply summarise_each to all columns except one? [duplicate] 【发布时间】:2016-12-02 03:57:36 【问题描述】:

我正在分析一组包含许多列(近 30 列)的数据。我想基于两列对数据进行分组,并将求和和均值函数应用于除时间戳之外的所有列。 我将如何在除时间戳之外的所有列上使用 summarise_each?

这是我的代码草案,但显然不正确。加上它会生成错误,因为它不能将 Sum 应用于 POSIXt 数据类型(错误:'sum' not defined for "POSIXt" objects)

features <- dataset %>% 
  group_by(X, Y) %>% 
  summarise_each(funs(mean,sum)) %>%
  arrange(TIMESTAMP)

【问题讨论】:

在总结之前使用select() 可能吗?尽管您将不再拥有TIMESTAMP,因为它的行数比您的摘要多。 完美。工作正常。我希望您将其添加为答案,以便我将其选为最佳答案 你可以简单地做summarise_each(funs(mean, sum), -TIMESTAMP) 感谢@StevenBeaupré,这实际上更容易:) 【参考方案1】:

尝试summarise_each(funs(mean,sum), -TIMESTAMP)TIMESTAMP 从摘要中排除。

【讨论】:

为什么这不适用于当前函数summarise_all 试试 -c(TIMESTAMP) @HNSKD 不幸的是,我无法添加其他答案。我认为这个问题是出于一个不好的原因而关闭的;您正在寻找的答案不在参考页面上。无论如何,对于新的 dplyr (>= 0.8.0),您需要使用 summarise_at(vars(-TIMESTAMP), ~mean) 来总结除 TIMESTAMP 变量之外的所有变量。

以上是关于如何将 summarise_each 应用于除一列之外的所有列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MySQL 查询从表中选择除一列之外的所有内容? [复制]

如何从python中的数组(或矩阵)中提取除一列之外的所有列?

如何在一个除一列之外的所有列都相同的 Pandas DataFrame 中合并观察结果?

dplyr 中的 mutate_each / summarise_each:如何选择某些列并为变异列赋予新名称?

使用块读取大型csv文件时如何在连接块之前处理除一列之外的所有列

使用 T-SQL 中的 OVER 子句在除一列之外的所有列上选择 DISTINCT