私は、複数の患者の観察とその診断を経たデータセットを持っています。 9つの異なるダミー変数があり、それぞれが特定の診断を表し、例えば、 L40、L41、K50、M05などがある。複数の列にわたるグループによって最後の観測が行われました
ダミー変数に欠損値がある場合、患者が最後に不足していない値を繰り越して、患者が診断を受け取ると、後続の観察に進むようにします。
これは、動物園パッケージのna.locf関数を使用して始めました。
diagdata <- originaldata[,grep("^patient|^ar|^edatum|^K|^L|^M",colnames(originaldata))]
require(zoo)
require(data.table)
diagnosis <- data.table(diagdata)
diagnosis[,L40:=na.locf(L40),by=patient]
これは私が探しているものを達成しますが、問題の列(L40)のみで実現します。関連するすべての診断列、すなわちK、LおよびMで始まる列に上記を適用する方法はありますか?
'data.table()'の代わりに 'setDT'または' as.data.table'を使用して、 'data.frame'を代わりに、またはコピーとして変換します。 – eddi