我有一個列表:如何使無維度名稱矩陣從列表
direc <- structure(list(no_trades = 3L, sell_trades = 19L, buy_trades = 18L), .Names = c("no_trades", "sell_trades", "buy_trades"))
# $no_trades
# [1] 3
#
# $sell_trades
# [1] 19
#
# $buy_trades
# [1] 18
我要讓不從這個名單維度名稱的矩陣。這將是類似這樣的矩陣結構:
classified <- structure(c(9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13, 9, 6, 13), .Dim = c(3L, 15L))
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
# [1,] 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
# [2,] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
# [3,] 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
我試圖從另一個SO question下面的代碼意味着數據幀,以矩陣的變換:
m2 <- `dimnames<-`(as.matrix(direc), NULL)
但它再次給了我一個清單:
結構(列表(3L,19L,18L),.dim僞= C(3L,1L))
在此先感謝您的答案。
也許你需要''dimnames < - 「(do.call(cbind,direc),NULL)' – akrun
@nrussell不,請參閱代碼。它不適用於列表。這個問題是由我在數據框方面提出的,以減少矩陣轉換。 –
@PolarBear在你以前的案例中,它是一個data.frame,現在它是一個'list',並且可以通過'list'的元素'cbind'完成到'matrix'的轉換,然後執行'dimnames'空值。如果'list'元素的長度不同,則在執行'cbind'之前,您需要填充NA來調整長度。 – akrun