Мне интересно, есть ли способ выбрать несколько переменных во время написания кода. То есть, когда мы вводим имя датафрейма, за которым следует $, мы получаем список всех переменных, но он позволяет выбрать только одну за раз.

Есть ли способ (например, пакет или дополнение rstudio), который позволяет выбрать несколько?

Что я делаю до сих пор (а идеи я почерпнул из этого 2012 post ):

  • использую dput(names(dataframe)) затем выбираю то, что мне нужно
  • использовать starts_with, ends_with, contains, etc... из dplyr (но они работают только тогда, когда есть уникальный шаблон для интересующих переменных).

С учетом всех этих замечательных надстроек rstudio, я надеялся, что есть более приятный/эффективный способ выбора переменных без необходимости вводить их по отдельности.

Это звучит как основной вопрос, и я заранее извиняюсь, если он уже задавался, но я не смог найти ответ ни здесь, ни на stackoverflow.

большое спасибо

Bahi8482

Ответов: 1

Ответы (1)

Ни одно из приведенных ниже решений не является специфическим для R Studio, а представляет собой общие средства в R или dplyr.

Нужен какой-то способ выбрать их, поэтому, если нет общего шаблона, вы можете перечислить их явно или использовать их позиции. Тогда любой из этих способов выберет столбцы - в данном примере 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))

или если вы хотите задать запрос, связанный с контентом, используйте один из этих вариантов:

iris[ sapply(iris, is.numeric) ]

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

Если вы имеете в виду, что вам нужен графический интерфейс для отображения доступных имен в определенном фрейме данных, чтобы вы могли интерактивно выбрать их, то используйте следующее (см. снимок экрана в конце):

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

или

library(tcltk)
tk_select.list(names(mtcars), multiple = TRUE)

скриншот

2022 WebDevInsider