有关R语言矩阵问题,急求

Python012

有关R语言矩阵问题,急求,第1张

R语言的矩阵默认可以看成按列组成的向量,函数which可以判定那个位置上元素为不是零,根据位置判断其前后,以及前一列,后一列位置上的元素是不是为0,如当前是i,则前一个后一个分别为i-1,i+1,而前一列对应位置则为i-num.of.row-1,i-num.of.row,i-num.of.row+1,后一列i+num.of.row-1,i+num.of.row,i+num.of.row+1。特殊情况就是判断边界的时候进行出来,看我的例子:

m <- matrix(0,10,10)

m[4,4] <-20

m[4,5] <-20 

m[3,9] <-20 

m[7,9] <-20 

m

nr <- nrow(m)

nc <- ncol(m)

for(i in which(m!=0)){

 #如果是第一列,不处理前列列

 if(i<nr){

  # 前一个 i-1,后一个i+1

  # 下一列 i+nr-1,i+nr,i+nr+1

  if(i%%nr==1){#如果是第一行

   chs <- c(i+1,i+nr,i+nr+1)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }

  else if(i%%nr==0){#如果是最后一行

   chs <- c(i-1,i+nr-1,i+nr)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }else{

   chs <- c(i-1,i+1,i+nr-1,i+nr,i+nr+1)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }  }

 #如果是最后一列,不处理后一列

 else if(i>nr*(nc-1)){

     if(i%%nr==1){#如果是第一行

   chs <- c(i-nr,i-nr+1,i+1)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }

  else if(i%%nr==0){#如果是最后一行

   chs <- c(i-1,i-nr-1,i-nr)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }else{

   chs <- c(i-1,i+1,i-nr-1,i-nr,i-nr+1)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }

 

 }

 #不是第一列也不是最后一列

 else{

  if(i%%nr==1){#如果是第一行

   chs <- c(i-nr,i-nr+1,i+1,i+nr,i+nr+1)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }

  else if(i%%nr==0){#如果是最后一行

   chs <- c(i-nr-1,i-nr,i-1,i+nr-1,i+nr)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  }else{

   chs <- c(i-nr-1,i-nr,i-nr+1,i-1,i+1,i+nr-1,i+nr,i+nr+1)

   for(j in chs){

    if(m[j]==0){

     m[j] <-1000

    }

   }

  } 

 } 

}

m

上个效果图:卧槽,我的浏览器抽风了,点插入图片没反应,自己运行吧

library(ggplot2)

p1 <- qplot(x1,y1,data=anscombe)

p2 <- qplot(x2,y2,data=anscombe)

p3 <- qplot(x3,y3,data=anscombe)

p4 <- qplot(x4,y4,data=anscombe)

library(gridExtra)

grid.arrange(p1,p2,p3,p4, nrow=2)

用RapidMiner,

用Update

RapidMiner菜单项载并安装Text

processing构件包使用process

documents...构件做文本挖掘处理文要些构件encoding参数设置GB一吧0三0(于简体文