2015-04-16 37 views
0

我寫一個程序,在列表中返回兩個變量,如:返回兩個變量的函數r中

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" 

有什麼建議?

+0

對不起,我不明白所需的輸出。 –

+2

這看起來像是在R的Pythonic成語中的嘗試。R不支持這種多重任務。另外,根據我的想法,列表[a,b]只是語法上的無意義的東西。 – joran

+0

它會工作,如果我只是做它: result < - list(a = A,b = B)? 我最終的結果是我想在運行函數 – BenLar

回答

0

真的不知道,如果這就是你以後,但是這會工作:

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 
+0

後將列表中的兩個變量分開。這解決了我的問題!謝謝 – BenLar