3

6 つの列で構成される大きなデータセットがあります。最初の列は、残りの 5 つの列の比率の値と一致する識別子のリストです。

    Identifier cd_log.ratios cs_log.ratios me_log.ratios pn_log.ratios sm_log.ratios
          A2ICC5     0.3784142            NA            NA            NA            NA
          A2ICC5            NA    -0.4910396            NA            NA            NA
          A2ICC5            NA            NA    -0.1755617            NA            NA
          A2ICC5            NA            NA            NA            NA     0.2279259
          A2ICC8     0.3045490            NA            NA            NA            NA
          A2ICC8            NA     0.2045638            NA            NA            NA

最初の 4 行については、5 つの比率列のうち 4 つが重複した識別子を共有していることに注意してください。データフレームを統合して、重複した識別子を削除し、比率を 1 行にシフトするにはどうすればよいですか? 出力は次のようになります。

Identifier  cd_log.ratios   cs_log.ratios   me_log.ratios   pn_log.ratios   sm_log.ratios
A2ICC5      0.3784142      -0.4910396      -0.1755617              NA       0.2279259
A2ICC8       0.304549       0.2045638              NA              NA              NA

前もって感謝します!

4

2 に答える 2

2

eddi の使用に対する反応data.tableは素晴らしいです。

この状況では、meltまたcastlibrary(reshape)作業を行います。

dfm <- melt(df, id.var='Identifier')
dfm <- subset(dfm, !is.na(value), )
cast(dfm)
  Identifier cd_log.ratios cs_log.ratios me_log.ratios sm_log.ratios
1     A2ICC5     0.3784142    -0.4910396    -0.1755617     0.2279259
2     A2ICC8     0.3045490     0.2045638            NA            NA
于 2013-06-27T18:27:40.973 に答える