如何将 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:如何选择某些列并为变异列赋予新名称?