【问题标题】:Returning two variables in a function in r [duplicate]在r中的函数中返回两个变量[重复]
【发布时间】:2015-06-22 06:09:48
【问题描述】:

我正在编写一个程序,它在一个列表中返回两个变量,例如:

returnTwo <- function(){
    results <- c(a = A, b = B)
    return(results)
}

list[a, b] <- returnTwo()
x <- list[a]
y <- list[b]

我明白了:

[1] NA
attr(,"class")
[1] "result"

有什么建议吗?

【问题讨论】:

  • 对不起,我不明白想要的输出。
  • 这看起来像是在尝试 R 中的 Pythonic 习语。R 不支持那种多重赋值。此外,鉴于我认为您的意图,list[a, b] 在语法上只是一种废话。
  • 如果我做它会起作用吗:结果

标签: r


【解决方案1】:

真的不确定这是否是您所追求的,但这会起作用:

returnTwo <- function(){
    results <- c(a = 2, b = 4)
    return(results)
}

x <- returnTwo()["a"]
y <- returnTwo()["b"]

或者使用列表:

returnTwo <- function(){
    results <- list(a = 2, b = 4)
    return(results)
}

x <- returnTwo()$a
y <- returnTwo()$b

【讨论】:

  • 这解决了我的问题!谢谢
猜你喜欢
  • 2013-02-28
  • 2013-11-13
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
  • 2011-01-20
  • 2015-03-30
  • 2019-03-30
  • 2018-03-26
相关资源
最近更新 更多