0

データフレーム内の 2 つの属性の値を置き換えたい。CheckInCheckOut。「--」は、これら 2 つの属性値のいずれかが欠落している NA に置き換える必要があります。条件付きロジックを入れて関数を適用しようとしましたが、失敗しました。最後に for ループを使ってみました。

for(i in length(Empl.A)){
if((Empl.A$CheckIn[i]  == '--') & (Empl.A$CheckOut[i] == '--'))
{
  Empl.A$CheckIn[i] <- NA
  Empl.A$CheckOut[i] <- NA
}
}

ここに画像の説明を入力

値の置換に関する有用なリソースを参照してください。または、この種の問題を解決します。

4

1 に答える 1

1

これは、ループに頼らずにベクトル化された方法で実現できます。

> xy <- data.frame(a = 1:3, ci = c("a", "--", "--"), co = c("b", "--", "--"))
> xy
  a ci co
1 1  a  b
2 2 -- --
3 3 -- --
> xy[xy$ci == "--" & xy$co == "--", c("ci", "co")] <- NA
> xy
  a   ci   co
1 1    a    b
2 2 <NA> <NA>
3 3 <NA> <NA>
于 2016-11-20T15:38:53.260 に答える