小编sch*_*tel的帖子

粘贴n*n矩阵或数据帧的所有可能对角线

我正在尝试粘贴在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矩阵中的对角线).有没有一种有效的方法来做到这一点?

r dataframe

8
推荐指数
1
解决办法
479
查看次数

标签 统计

dataframe ×1

r ×1