1
特定の日付より前に発生するデータフレーム内の特定の行/列に値NA
を設定します。しかし、各列には異なる日付/基準があります。それではどうしたの?特定の値を日付に基づくデータフレームに設定する条件
サンプルDATAFRAME:
dates <- c("01/01/2015", "06/15/2015", "11/30/2015")
a <- c(1, 2, 3)
b <- c(2, 4, 6)
c <- c(3, 5, 9)
df <- data.frame(Date = dates, A = a, B = b, C = c)
startDate <- c("02/20/2015", "07/28/2015", "12/01/2015")
だから私のdata.frameは次のようになります。
Date A B C
01/01/2015 1 2 3
06/15/2015 2 4 5
11/30/2015 3 6 9
startDate
を使用して、私の基準は、私は相対的にその日付の前に任意の値を設定したいと列をNA
とすると、最終結果は次のようになります。
Date A B C
01/01/2015 NA NA NA
06/15/2015 2 NA NA
11/30/2015 3 6 NA
誰か助けてくれますか? Btw、私の実際のdata.frameには約20以上の列があります。上記は実際の問題のほんの一例です。
ありがとうございます!
おかげで - しかし、それは必ずしもゼロであるたstartDate後の値がある場合は、右、次のステップでNAとゼロを置き換えるために動作しないのでしょうか? – RiddleMeThis
@RiddleMeThis、出力は今あなたが望むものでなければなりません。次のステップで「NA」に変換する必要はありません。 –
私は実際にはmで乗算するのではなく、mで除算するのが最善だと思います。それはNaNとInf値を与え、do.call(df、lapply(df、function(x)replace(x、is.infinite(x)、NA)))などの値を使って、値をNAに変換することができます。どうもありがとう!これは本当に私を助けます。 – RiddleMeThis