Уникальная функция: перебирая переменные в R - PullRequest
0 голосов
/ 02 июля 2019

Я нахожусь в цикле в моем коде R, и я хочу использовать следующий код:

distinct.values <- unique(SQL_Table$column.names2[for.num])

column.names2 выглядит следующим образом

column.names2
[1] "plan"           "gender"         "marital_status" "acceleration"   "extension"     
[6] "inflation"

в зависимости от for.num Я хочу другую переменную после $.

Пример: когда for.num = 1.

Я хочу, чтобы distinct.values был установлен как unique(SQL_Table$plan)

когда for.num = 2.

Я хочу, чтобы distinct.values был установлен как unique(SQL_Table$gender)

и так далее ...

Как я могу это сделать?

1 Ответ

1 голос
/ 02 июля 2019

Чтобы расширить мой комментарий к исходному вопросу, есть несколько разных способов доступа к столбцам фреймов данных.

my_df$column_name

При использовании оператора $ "column_name" указывается в качестве литерального токена в сценарии R.Обратите внимание, что поскольку имя столбца не заключено в кавычки, этот метод не допускает подстановку переменных.

my_df[["column_name"]]

При использовании оператора [[ ]] ожидается строка (или вектор строк).В этом случае допускается подстановка переменных, поэтому допустимо следующее:

my_col <- "column_name"
my_df[[my_col]]

Это будет эквивалентно my_df$column_name.

Таким образом, ваш код можно изменить так:

unique(SQL_Table[[column.names2[for.num]]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...