Определите, является ли ввод полем массива структур в R - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь преобразовать код из MATLAB в R . В MATLAB isfield(S,field) - это способ определить, является ли ввод полем массива структуры. например, в MATLAB следующий оператор возвращает 0,1, если оператор if имеет значение ИСТИНА.

if isfield(opt,'Nick'), opt.Nick = 0.1 end

Есть ли соответствующая команда в R, которая будет выполнять ту же процедуру?

1 Ответ

1 голос
/ 06 августа 2020

Одна возможная альтернатива в R (с использованием List для представления структуры в MATLAB):

if ("Nick" %in% names(opt)) {
  opt$Nick <- 0.1
}

так, что

> str(opt)
List of 2
 $ Ida : num [1:5] 1 2 3 4 5
 $ Nick: num 0.1

фиктивные данные

> str(opt)
List of 2
 $ Ida : num [1:5] 1 2 3 4 5
 $ Nick: logi NA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...