gpt4 book ai didi

r - 使用 dplyr/tidyr 函数的字符串版本(下划线后缀,如gather_())时排除 '-'

转载 作者:行者123 更新时间:2023-12-04 12:40:38 25 4
gpt4 key购买 nike

通常使用 dplyr/tidyr,我可以通过否定实现排除

... %>% gather(x, -y)

但是,目前,我希望以编程方式指定一些变量并排除在外,因此理想情况下

...%>%gather_(xVar, -yVar)

其中 xVar 和 yVar 是字符变量(例如,值为“x”和“y”)。

函数的字符串版本是否简单地禁止排除,或者有没有办法做到这一点?

两个明显的罪魁祸首 -yVarpaste0('-', yVar)似乎会产生错误。

最佳答案

我最近遇到了同样的问题。我自己使用了计算包含列的解决方法。这并不完全令人满意,但我认为目前使用 gather_ 不可能做到这一点。 .问题似乎出在 select_vars_功能。您可以使用 exclude 绕过它。 select_vars_ 中的选项.

# creating sample data from example in gather
stocks <- data.frame(
time = as.Date('2009-01-01') + 0:9,
X = rnorm(10, 0, 1),
Y = rnorm(10, 0, 2),
Z = rnorm(10, 0, 4)
)
# original call using gather
gather(stocks, stock, price, -time)
# calculating select_vars yourself
stocks %>% gather_("stock",
"price",
names(.)[!"time" == names(.)])
# using exclude in select_vars_
stocks %>% gather_("stock",
"price",
select_vars_(names(.),
names(.),
exclude = "time"))

关于r - 使用 dplyr/tidyr 函数的字符串版本(下划线后缀,如gather_())时排除 '-',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28911496/

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