Как назвать конкретные выходы функции как один раз - PullRequest
0 голосов
/ 02 июля 2018

Предположим, у меня есть функция, которая возвращает мне список вывода. Как я могу вызвать конкретный выход сразу? Моя оригинальная функция сложна и должна возвращать мой вывод в виде списка. Иногда мне нужно посмотреть на специальный вывод (3 или 5 из них (из 10.). Как я могу сделать это очень быстро, используя ярлык кода вместо того, чтобы повторять его несколько раз, чтобы каждый раз получать один вывод?

Например,

x <- rnorm(1:5)
y <- rnorm(1:5)
myfun <- function(x,y){
    mult <- sumf <- distfu <- list()
    for(i in 1:5){
        mult[[i]] <- x[[i]]*y[[i]]
        sumf[[i]] <- x[[i]]+y[[i]]
        distfu[[i]] <- x[[i]]-y[[i]]
    }
    out <- list()
    out$mult <- mult
    out$sumf <- sumf
    out$distf <- distfu
    return(out)
}
myres <- myfun(x,y) 

Как мне позвонить myres$mult и myres$distf только за один раз?

Я попробовал это: myres$[c(1,3)] но это было неправильно.

Обратите внимание, что этот пример прост, однако моя функция возвращает более 10 выходных данных. Итак, если мне нужно посмотреть только на 5 из них, то мне нужно повторить это myfun$.. пять раз. Я просто хотел бы знать, есть ли способ вызвать все выходы 5 одновременно` .

1 Ответ

0 голосов
/ 02 июля 2018

Чтобы вызвать определенные элементы списка, вы должны сделать это так:

myres[c(1,3)]

В вашем коде была опечатка $ после myres

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...