0

enter code here次のようなデータセット「Final.Export」を使用しています。

            LakeID   LakeName SourceVariableName SourceVariableDescription SourceFlags
47    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
48    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
49    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
50    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
51    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
52    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
53    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
54    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
55    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
56    390 Moosehead         Acolor(PCU)            Apparent color        <NA>
   LagosVariableID LagosVariableName Value Units CensorCode DetectionLimit       Date
47              11   Color, apparent    22   PCU         NC             NA 2003-08-26
48              11   Color, apparent    17   PCU         NC             NA 2003-08-26
49              11   Color, apparent    16   PCU         NC             NA 2003-08-26
50              11   Color, apparent    14   PCU         NC             NA 2003-08-26
51              11   Color, apparent    14   PCU         NC             NA 2003-08-26
52              11   Color, apparent    17   PCU         NC             NA 2003-08-26
53              11   Color, apparent    16   PCU         NC             NA 2003-08-26
54              11   Color, apparent    17   PCU         NC             NA 2003-08-26
55              11   Color, apparent    14   PCU         NC             NA 2003-08-26
56              11   Color, apparent    17   PCU         NC             NA 2003-08-26
   LabMethodName LabMethodInfo SampleType SamplePosition SampleDepth MethodInfo
47          <NA>          <NA> INTEGRATED      SPECIFIED           6       <NA>
48          <NA>          <NA> INTEGRATED      SPECIFIED           7       <NA>
49          <NA>          <NA> INTEGRATED      SPECIFIED           6       <NA>
50          <NA>          <NA> INTEGRATED      SPECIFIED          10       <NA>
51          <NA>          <NA> INTEGRATED      SPECIFIED          10       <NA>
52          <NA>          <NA> INTEGRATED      SPECIFIED           9       <NA>
53          <NA>          <NA> INTEGRATED      SPECIFIED          10       <NA>
54          <NA>          <NA> INTEGRATED      SPECIFIED           8       <NA>
55          <NA>          <NA> INTEGRATED      SPECIFIED          10       <NA>
56          <NA>          <NA> INTEGRATED      SPECIFIED          10       <NA>
   BasinType Subprogram Comments Dup
47   UNKNOWN         NA       NA  NA
48   UNKNOWN         NA       NA  NA
49   UNKNOWN         NA       NA  NA
50   UNKNOWN         NA       NA  NA
51   UNKNOWN         NA       NA  NA
52   UNKNOWN         NA       NA  NA
53   UNKNOWN         NA       NA  NA
54   UNKNOWN         NA       NA  NA
55   UNKNOWN         NA       NA  NA
56   UNKNOWN         NA       NA  NA

すべての重複値に 1 のフラグを立てたいと思います。重複値は、「LakeID」、「Date」、「LagosVariableID」、「SampleDepth」、および「SamplePosition」列のすべての列にまったく同じ値を持つものとして定義されます。

これを行うために、次のコードを使用して新しいデータ テーブル「data1」を作成しました。

library(data.table)
data1=data.table(Final.Export,key=c('LakeID','Date','LagosVariableID','SampleDepth','SamplePosition','Value'))
data1=data1[,Dup:=duplicated(.SD),.SDcols=c('LakeID','Date', 'LagosVariableID', 'SampleDepth', 'SamplePosition','Value')]
data1$Dup[which(data1$Dup==FALSE)]=NA
data1$Dup[which(data1$Dup==TRUE)]=1

「data1」の問題は、最初の一意の行 (NA としてフラグが設定されている) の後の重複行 (重複の定義によると) のみが「1」としてフラグが設定されることです。一意の行と関連する重複行に「1」のフラグを付ける必要があります。これを行う方法はありますか?

これがわかりにくい場合は、明確にする方法を教えてください。

4

1 に答える 1

1

再現可能な例なしで言うのは難しいですが、次のようなものが必要なようです:

data1[,dup:=duplicated(.SD), 
       by=list(LakeID, LagosVariableID, Value, Date, SamplePosition, SampleDepth)]

編集:

OPの明確化の後、彼らは単にこれを望んでいるようです:

data1[,dup:=duplicated(.SD), 
 .SDcols=c('LakeID', 'Date', 'LagosVariableID', 'SampleDepth', 'SamplePosition')]
于 2013-10-04T16:56:02.233 に答える