gpt4 book ai didi

r - mutate 和 rowSums 排除列

转载 作者:行者123 更新时间:2023-12-03 17:55:28 26 4
gpt4 key购买 nike

类似于:mutate rowSums exclude one column但就我而言,我真的希望能够使用 select删除特定列或一组列

我试图理解为什么这种性质的东西行不通。

d <- data.frame(
Alpha = letters[1:26],
Beta = rnorm(26),
Epsilon = rnorm(26),
Gamma = rnorm(26)
)

我认为这会起作用,但它给了我一个奇怪的错误:
# Total = Beta + Gamma
d <- mutate(d,Total = rowSums(select(d,-Epsilon,-Alpha)))

Error: All select() inputs must resolve to integer column positions.
The following do not:
* -structure(1:26, .Label = c("a", "b", "c", "d", "e", "f", "g", "h", "i...
In addition: Warning message:
In Ops.factor(1:26) : ‘-’ not meaningful for factors

我希望能够在一个长链中做到这一点,并保持它的“dplyr 风格”......这让我感到奇怪,因为它是如此困难,因为它在不使用典型的 dplyr 语法的情况下非常简单:
d$Total <- rowSums(select(d, -Alpha, -Epsilon)) # This works! 

最佳答案

@akrun 已经提供了 relevant link关于这个问题。关于dplyr解决方案,我实际上会使用 do :

d %>%
do({
.$Total <- rowSums(select(., -Epsilon, -Alpha))
.
})

关于r - mutate 和 rowSums 排除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33314971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com