如何一次调用函数的特定输出

时间:2018-07-02 12:07:32

标签: r

假设我有一个向我返回输出列表的函数。如何立即调用特定的输出?我的原始函数很困难,必须将我的输出作为列表返回。有时我需要查看一个特殊的输出(其中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 :(得分:0)

要调用列表的特定元素,您必须这样做:

myres[c(1,3)]

在您的代码中,$后有一个错字myres

我希望这会对您有所帮助。