gpt4 book ai didi

r - 如何在不求值的情况下在 dplyr select 中传递列名

转载 作者:行者123 更新时间:2023-12-04 21:08:56 26 4
gpt4 key购买 nike

我正在尝试以编程方式将列名传递给函数,以便可以在 dplyr 中选择它们。列名会有所不同,所以我尝试使用 select 函数的标准评估版本 select_ .列名本身有点有趣,因为它们包含 +-字符,我认为这是导致问题的原因。下面是一个复制错误的简单示例。

library(tibble)
library(dplyr)
data <- data_frame(target_id = 'xyz',
`CH4+Sulfate-1` = 1.2,
`CH4+Sulfate-2` = 2,
`CH4+Sulfate-3` = 3)
columns <- c('CH4+Sulfate-1', 'CH4+Sulfate-2', 'CH4+Sulfate-3')
select_(data, .dots = columns)

我收到以下错误
Error in eval(expr, envir, enclos) : object 'CH4' not found

这让我相信正在评估名称而不是将其作为字符串。如何在不必重命名表列的情况下解决此问题?

最佳答案

将名称用反引号括起来就可以了。

columns <- c('`CH4+Sulfate-1`', '`CH4+Sulfate-2`', '`CH4+Sulfate-3`')

关于r - 如何在不求值的情况下在 dplyr select 中传递列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39134602/

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