在r / rstudio中选择多个变量以插入代码

问题描述

我想知道是否有办法在编写代码时选择多个变量。我的意思是当我们输入数据框名称后跟 $ 时,我们会得到所有变量的列表,但它一次只允许选择一个

有没有允许选择多个的方法(比如一个包或 rstudio 插件)?

到目前为止我一直在做的是(我从这个 2012 post 中得到了想法):

  • 使用 dput(names(dataframe)) 然后选择我需要的
  • 使用来自 dplyr 的 starts_with、ends_with、contains 等(但这些仅在感兴趣的变量具有独特模式时才有效)。

有了所有这些不错的 rstudio 插件,我希望有一种更好/更有效的方法来选择变量,而不必单独输入它们。

这听起来像是一个基本问题,如果之前有人问过这个问题,我提前道歉,但我在这里或在 stackoverflow 上都找不到答案。

非常感谢

解决方法

以下解决方案都不是特定于 R Studio 的,而是 R 或 dplyr 中的通用工具。

必须有某种方法来选择它们,因此如果没有共同模式,您可以明确列出它们或使用它们的位置。然后其中任何一个都将选择列——在本例中,a7 ff e2: goto -30 mpg 列来自 cyl

mtcars

或者如果您想指定与内容相关的查询,请使用以下之一:

nms <- c("mpg","cyl")
# or nms <- 1:2

mtcars[nms]
mtcars[,nms]
subset(mtcars,select = nms)
dplyr::select(mtcars,all_of(nms))

如果您的意思是希望 GUI 显示特定数据框中的可用名称,以便您可以交互地选择它们,请使用此方法(请参阅最后的屏幕截图):

iris[ sapply(iris,is.numeric) ]

dplyr::select(iris,where(is.numeric))

select.list(names(mtcars),multiple = TRUE)

screenshot