R S3 как добраться - PullRequest
       3

R S3 как добраться

0 голосов
/ 15 сентября 2018

Мой вопрос: как лучше всего получить атрибуты объекта из аргумента, переданного в функцию.Например, ниже я показываю пример из моего кода.

  tsdScene <- function(...){
  scene <- list(..., sceneLength = length(list(...)), tsdList = list(...))
  class(scene) <- "tsdScene" 
  return(scene)
  }

Так, как tsdList, я получаю все объекты, переданные в функцию (в этом примере это объект s1 и объект s2 из другого класса).Теперь, когда я использую:

test <- tsdScene(s1,s2)
test$tsdList

, я получаю в ответ:

$freq
[1] 12

Но когда я пытаюсь использовать

test$tsdList$freq

, я получаю NULL.И это мой главный вопрос.Как я могу получить этот аргумент $ freq? Я буду благодарен за любой совет.

1 Ответ

0 голосов
/ 15 сентября 2018

Если вы позвоните tsdScene с двумя аргументами, вы получите список test$tsdList с двумя членами.

Может быть, вы хотите test$tsdList[[1]]$freq или test$tsdList[[2]]$freq.

s1 <- 1
s2 <- list(freq = 12)
test <- tsdScene(s1, s2)
test$tsdList
#[[1]]
#[1] 1
#
#[[2]]
#[[2]]$freq
#[1] 12


test$tsdList[[2]]
#$freq
#[1] 12

Таким образом, вы можете получить доступ к freq с помощью

test$tsdList[[2]]$freq
#[1] 12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...