0
我對我這個愚蠢的問題道歉,但我剛開始熟悉數組。將矩陣內的矩陣旋轉90度
我只需要旋轉我的數組中的矩陣90度。
這裏的一些數據和我的嘗試至今:
mat1 = as.matrix(data.frame(col1 = c(1,2,3,4,5,6,7,8), col2 = c(2,3,'NA',5,6,7,8,9), col3 = c(3,4,5,6,7,8,9,10), col4 = c(2,3,4,1,2,6,7,8),
col5 = c(2,3,'NA','NA',6,7,8,9), col6 = c(1,2,3,5,6,7,8,9), col7 = c(1,2,3,4,6,7,'NA','NA')))
mat2 = as.matrix(data.frame(col1 = c('NA',2,3,4,5,6,7,8), col2 = c(2,3,1,5,6,7,8,9), col3 = c(3,4,5,6,7,8,9,'NA'), col4 = c(2,3,4,1,2,6,7,8),
col5 = c(2,3,11,88,6,7,8,9), col6 = c(1,2,3,5,6,7,8,9), col7 = c(1,2,3,4,6,7,'NA','NA')))
#ignore warnings
class(mat1) = 'numeric'
class(mat2) = 'numeric'
my_array = array(c(mat1, mat2), dim = c(8,7,2))
我累了,但沒有成功:
library(pracma)
ar_rot = array(dim=c(8,7,2))
for (i in 1:2) {
ar_rot[,,i] = rot90(my_array[,,i], k = 1)
}
我認爲問題在於對ar_rot
的指標,因爲如果我申請了相同的代碼只有一個矩陣,例如
ar_rot_1 = rot90(my_array[,,1], k = 1)
它的工作原理!但我的數組有數千個矩陣!
任何提示? 感謝
對於這個簡單的例子,你可以,也,實驗與'aperm' - 例如這裏'aperm(my_array,c(2,1,3))[dim(my_array)[2]:1,,]'似乎有用,儘管我不確定你需要的解決方案有多靈活 –