如何使用循环来分割矩阵或数据帧使用R?

时间:2014-08-22 16:57:56

标签: r matrix split dataframe

我想使用循环函数来输出n / 2 NewMatrix NewMatrix< - OldMatrix [,c(i,i + 1)],i = ncol(OldMatrix)。

并将其命名为格式: NewMatrix_i ,以便我可以轻松访问单个矩阵。

OldMatrix
          A   B   C   D   E   F   G   H   I   J   K  
    [1,] "1" "1" "C" "F" "F" "B" "F" "F" "1" "1" "4"
    [2,] "1" "1" "C" "F" "F" "B" "F" "F" "1" "1" "4"
    [3,] "1" "1" "C" "F" "F" "B" "F" "F" "1" "1" "4"
    [4,] "5" "5" "C" "F" "F" "B" "F" "F" "1" "1" "4"
    [5,] "5" "5" "C" "F" "F" "B" "F" "F" "1" "1" "4"
    [6,] "5" "5" "C" "F" "F" "B" "F" "F" "1" "1" "4"

1 个答案:

答案 0 :(得分:1)

可能有帮助:

 indx <- 1:(ncol(OldMatrix)-1) 
 lst1 <- setNames(lapply(indx, function(i) OldMatrix[,c(i, i+1)]), paste("NewMatrix",indx, sep="_"))

 lst1$NewMatrix_10
 #      J   K  
 #[1,] "1" "4"
 #[2,] "1" "4"
 #[3,] "1" "4"
 #[4,] "1" "4"
 #[5,] "1" "4"
 #[6,] "1" "4"