Как использовать список, содержащийся в функции - PullRequest
0 голосов
/ 04 января 2019

Я уверен, что это плохой дизайн функций, но здесь идет ...

У меня есть функция, которая отображает некоторые термины на другие. Подробности здесь не актуальны.

В функции у меня есть список символов. Я хочу использовать этот список для другой цели. Как я могу обратиться к списку, содержащемуся в функции

Например:

TermMapping<-function(param){



###The list I want to refer to
 tofind <-
    paste(
      c(
        "Ascending","Descending","Sigmoid","Rectum","Transverse",
        "Caecum","Splenic","Ileum","Rectosigmoid",
        "Ileocaecal","Hepatic","Colon","Terminal","Terminal Ileum",
        "Ileoanal","Prepouch","Pouch","Anastomosis",
        "Stomach","Antrum","Duodenum","Oesophagus","GOJ"
      ),
      collapse = "|"
    )

###something done to param here- details not included but it uses the list above.....


return(dataframe)
}

1 Ответ

0 голосов
/ 04 января 2019

Я могу придумать два варианта:

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

  2. Вы можете вернуть список как часть своей функции.Ваша функция возвращает dataframe, поэтому вы можете изменить возвращаемое значение, чтобы оно возвращало как df, так и список.

    TermMapping<-function(param){
    
    
    
    ###The list I want to refer to
    tofind <-
      paste(
        c(
    "Ascending","Descending","Sigmoid","Rectum","Transverse",
    "Caecum","Splenic","Ileum","Rectosigmoid",
    "Ileocaecal","Hepatic","Colon","Terminal","Terminal Ileum",
    "Ileoanal","Prepouch","Pouch","Anastomosis",
    "Stomach","Antrum","Duodenum","Oesophagus","GOJ"
    ),
    collapse = "|"
    )
    
    ###something done to param here- details not included but it uses the list above.....
    
    
    return(list(my_df = dataframe,
        myList = tofind))
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...