私はR
でクリーニングしようとしているいくつかの反復測定データを持っています。この時点で、それは長い形式であり、私はワイドフォーマットに移行する前にいくつかの項目を修正しようとしています。たとえば、人々が私の調査をあまりにも多く回して行を落とす場合です。条件に基づいてdata.frameから行を削除
がエントリー
を変更する誰かが「プレテストリンク」からアンケートを取った場合、それが実際に事後テストすることになった、I:私は私が解決しようとしている二つの主要な問題を抱えています[次のコードでそれを固定mは:
data[data$UserID == 52118254, "Prepost"][2] <- 2
これはポストテストとして符号化される第2のエントリを変更し、その後、IDに基づいて、その人からエントリを除外。このコードには、それを見直すと何が起こっているかが分かります。例えば、誰かが誤って二回私のリンクをクリックした場合 - 私は余分な行を削除するには、意味のあるコードを取得するために苦労していた行
を削除
。
UserID Prepost Duration..in.seconds.
1 52118250 1 357
2 52118284 1 226
3 52118284 1 11 #This is an extra attempt to remove
4 52118250 2 261
5 52118284 2 151
#to reproduce:
structure(list(UserID = c(52118250, 52118284, 52118284, 52118250, 52118284), Prepost = c("1", "1", "1", "2", "2"), Duration..in.seconds. = c("357", "226", "11", "261", "151")), class = "data.frame", row.names = c(NA, -5L), .Names = c("UserID", "Prepost", "Duration..in.seconds."))
私はそれを何度もしてきましたし、私は簡単にデータセットからこれらの行を削除する方法を探しています誰が見てユーザーIDによってフィルタリングすることができます:私は次のようなデータを持っています。この場合、UserID 52118284はそれを3回取っており、2回目の試みは削除する必要があります。より良い他の修正のように "読み取り可能"な場合。
おそらく 'df [!duplicated(interaction(df $ UserID、df $ Prepost))]]? –
@A体系的な問題があってもうまくいくと思うが、どちらかといえば何かが間違っているかを判断しなければならない。 –