資料:
input1 <- matrix(c(2, 15))
input2 <- list(5, integer(0), c(5, 6))
我有一個看起來像這樣的矩陣(input1):
[,1]
[1,] 2
[2,] 15
我想將其轉換為如下所示的串列物件:
[[1]]
[1] 2 15
這樣做的最佳方法是什么?
如果函式可以將這樣的串列 (input2) 作為輸入并且不對它進行任何更改,這也會很有用:
[[1]]
[1] 5
[[2]]
integer(0)
[[3]]
[1] 5 16
[[4]]
[1] 9
[[5]]
integer(0)
uj5u.com熱心網友回復:
這是執行此操作的功能-
change_matrix_to_list <- function(x) {
if(inherits(x, 'matrix')) list(c(x))
else x
}
input1 <- matrix(c(2, 15))
input2 <- list(5, integer(0), c(5, 6))
change_matrix_to_list(input1)
#[[1]]
#[1] 2 15
change_matrix_to_list(input2)
#[[1]]
#[1] 5
#[[2]]
#integer(0)
#[[3]]
#[1] 5 6
這將檢查輸入是否有一個類'matrix',然后將其更改為串列或保持原樣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424864.html
上一篇:如何在VBA中使用索引和匹配功能
下一篇:用戶函式回傳查詢并插入
