如何在R中的列的确定行中插入值?

时间:2016-12-05 19:01:34

标签: r database

我的功能如下:

MES2 <- function(Base)
{

  cond1 <- grepl("M.E.S", Base$titulo_janela)
  cond2 <- grepl("172.22.5.30", Base$url_destino_N3)
  cond3 <- grepl("mes", Base$atividade_N2)
  cond4 <- grepl("cid/portalmes/", Base$url_destino_N3)
  cond5 <- grepl("novomes", Base$url_destino_N3)
  cond6 <- grepl("AMBEV - MES -", Base$titulo_janela)
  cond7 <- grepl("MES - Manufacturing Execution", Base$titulo_janela)
  cond8 <- grepl("3M_", Base$titulo_janela)

  for (i in 1:length(Base$id)) {
    if (Base$processo_sistema_N1[i] != "iexplore") {
      cond8[i] <- FALSE
    }
  }

  for (k in 1:length(Base$id)) {
    if (cond1[k] == TRUE || cond2[k] == TRUE || cond3[k] == TRUE || cond4[k] == TRUE 
        || cond5[k] == TRUE || cond6[k] == TRUE || cond7[k] == TRUE 
        || cond8[k] == TRUE) {
      Base$processo_sistema_N1[k] <- "MES"
    }
  }

  return(Base)

}

问题是:我想更改“processo_sistema_N1”列的确定行中的值,但是当我在我的Base上运行该函数时,它返回“NA”而不是单词“MES”。你们是否知道出了什么问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在运行该函数之前,添加要更改的列的相应(未来)级别: level(Base $ processo_sistema_N1)&lt; - c(levels(Base $ processo_sistema_N1),“MES”) 希望有效。