2016-12-05 18 views
0

My機能は以下のとおりである:Rの列の特定の行に値を挿入するにはどうすればよいですか?

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」の決定行の値を変更したいが、私は私のベースに機能を実行すると、それは「NA」を返します。単語 "MES"の代わりに。あなたたちは間違っていることの手掛かりを持っていますか?

ありがとうございます。

+2

私はこの問題は、 'processo_sistema_N1'という列が文字ではなく要素であると考えています。この場合、因子はラベル「MES」を有するレベルを含まないので、結果は「NA」である。 – aichao

+1

と私は確信しています、コードチャンク全体が2-3行で記述されている可能性があります。 –

答えて

0

あなたが機能を実行する前に、変更したい列の適切な(将来の)レベルを追加: レベル(ベース$ processo_sistema_N1)< - C(レベル(ベース$ processo_sistema_N1)、 "MES")は 希望作品。

関連する問題