2017-08-03 70 views
-1

我想在列表的名稱上添加兩個維度。 例如,在列表中添加二維名稱

N <- 3 
M <- 2 
x <- list() 
for(i in 1:N) { 
    for(j in 1:M){ 
    Ps <- i 
    x[[paste0("element", i)]] <- Ps 
    } 
} 

>x 
$element1 
[1] 1 

$element2 
[1] 2 

$element3 
[1] 3 

However, I want to return a result like: 

$element1,method1 
[1] 1 

$element1,method2 
[1] 1 

$element2,method1 
[1] 2 

$element2,method2 
[1] 2 

$element3,method1 
[1] 3 

$element3,method2 
[1] 3 

我猜建立一個立體的「陣」可能在這個問題上工作得很好,但我需要用一個列表,因爲多層次時間序列預測結果只可以存儲在一個清單,但不能存儲在一個數組中。任何人都可以幫我解決它?非常感謝你。

回答

1

您可以使用嵌套列表

x[[paste0("element", i)]][[paste0("method", j)]] <- list(Ps) 

或只是讓字符串描述你有什麼

x[[paste0("element", i, ",method", j)]] <- Ps 
+0

謝謝你,蒂姆。它運作良好。 – 2017-08-04 00:59:40