0

日付セットに問題があります。複数のシーケンス情報が含まれていますが、他の行は単なる「NA」です。データは次のようになります。

> dat[90:100,]
           V1 V2 V3   V4  V5  V6                        V7 V8
90  Sequence: 90 NA   NA  NA                               NA
91  Sequence: 91 NA   NA  NA                               NA
92  Sequence: 92 NA   NA  NA                               NA
93  Sequence: 93 NA   NA  NA                               NA
94          1 25  3  8.3 3.0 100                         0 50
95          0  0 68 32.0 0.9 GGT GGTGGTGGTGGTGGTGGTGGTGGTG NA
96  Sequence: 94 NA   NA  NA                               NA
97  Sequence: 95 NA   NA  NA                               NA
98  Sequence: 96 NA   NA  NA                               NA
99  Sequence: 97 NA   NA  NA                               NA
100 Sequence: 98 NA   NA  NA                               NA

そして、シーケンス情報を含む 93 から 95 の行を保持し、他の行を削​​除したいと思います。

93  Sequence: 93 NA   NA  NA                               NA
94          1 25  3  8.3 3.0 100                         0 50
95          0  0 68 32.0 0.9 GGT GGTGGTGGTGGTGGTGGTGGTGGTG NA

Rでそれを行う方法はありますか? たとえば、ループの場合は?

4

2 に答える 2

1

NA 行を削除する場合は、is.na関数を見て反転します。

dat2 <- dat[!is.na(dat$V3), ]

データ フレームのスライスだけが必要な場合は、次のように指定します。

dat2 <- dat[93:95, ]

しかし、あなたはすでにこれを行う方法を知っていると思うので、あなたが何を求めているのかは完全にはわかりません. NA 行を削除したいと思われます。

于 2013-10-31T18:56:10.167 に答える
0

それはただではありません:

dat[!grepl('Sequence', dat$V1), ]

- アップデート -

申し訳ありませんが、上の行も必要とされていませんでした。これはうまくいくはずです。

rows <- dat[!grepl('Sequence', dat$V1), ] # rows that don't contain 'Sequence'
rows <- as.numeric(row.names(rows))       # convert row.names to numeric
rows2 <- rows - 1                         # take previous rows
rows2 <- unique(c(rows2, rows))           # de-dupe
dat[rows2, ]                              # all the rows you want

#          V1 V2 V3   V4  V5  V6                        V7 V8
# 4 Sequence: 93 NA   NA  NA                               NA
# 5         1 25  3  8.3 3.0 100                         0 50
# 6         0  0 68 32.0 0.9 GGT GGTGGTGGTGGTGGTGGTGGTGGTG NA
于 2013-10-31T18:59:04.103 に答える