gpt4 book ai didi

r - 如何通过使用 dplyr 传递变量名来删除列?

转载 作者:行者123 更新时间:2023-12-03 10:49:48 26 4
gpt4 key购买 nike

我有一个 df 如下:

a <- data_frame(keep=c("hello", "world"),drop = c("nice", "work"))
a
Source: local data frame [2 x 2]
keep drop
(chr) (chr)
1 hello nice
2 world work
我可以用 a %>% select(-drop) 毫无问题地删除列。但是,如果我想传递一个变量来呈现 drop列,然后返回错误。
name <- "drop"
a %>% select(-(name))

Error in -(name) : invalid argument to unary operator

最佳答案

您可以使用 one_of找到列位置,然后使用 -放下它,select(-one_of(name)) , 如果您检查 ?select ,用法记录在示例中的 Drop 变量部分:

name <- "drop"
a %>% select(-one_of(name))

# A tibble: 2 × 1
# keep
# <chr>
#1 hello
#2 world

或与 select_ , 需要粘贴 -使用列名删除它们并将粘贴的列名传递给 .dots如果要删除的列不止一列,则参数:
name <- "drop"
a %>% select_(.dots = paste("-", name))

# A tibble: 2 × 1
# keep
# <chr>
#1 hello
#2 world

关于r - 如何通过使用 dplyr 传递变量名来删除列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819422/

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