我正在尝试粘贴在N*N矩阵内以任何对角线排列的所有可能的字符.
例如,考虑以下3 X 3矩阵:
#Create matrix, convert to character dataframe
matrix <- matrix(data=c('s','t','y','a','e','l','f','n','e'),nrow=3,ncol=3)
matrix <- as.data.frame(matrix)
for(i in 1:length(colnames(matrix))){
matrix[,i] <- as.character(matrix[,i])
}
Run Code Online (Sandbox Code Playgroud)
在上面的矩阵中,我需要粘贴对角线:"see","fey","ees"和"yef".我可以使用以下代码在数据框中找到它们:
diag <- paste(matrix[1,1],matrix[2,2],matrix[3,3],sep='')
diag1 <- paste(matrix[1,3],matrix[2,2],matrix[3,1],sep='')
diag2 <- paste(matrix[3,1],matrix[2,2],matrix[1,3],sep='')
diag3 <- paste(matrix[3,3],matrix[2,2],matrix[1,1],sep='')
Run Code Online (Sandbox Code Playgroud)
问题是我想自动化它,以便它可以在任何N x N矩阵上工作.(我正在编写一个函数来查找任何NXN矩阵中的对角线).有没有一种有效的方法来做到这一点?