1

私はグーグルで解決策を見つけようとしましたが、5時間後にコミュニティからの答えを見つけることができるといいのですが、すでにありがとうございます。

data.frameを持っています:

    > out.allpheno["MAP2K2"]
            MAP2K2
c1m2      5.55e-02
c1.loc42  4.32e-02
c1.loc52  6.04e-02
c1m10     3.19e-01
c1.loc103 6.12e-01
c1.loc107 8.65e-01
c1m12     1.03e+00
c1.loc113 1.04e+00
c1.loc117 1.07e+00
c1.loc128 7.91e-01
c1m14     4.92e-01
c1.loc134 5.65e-01
c1.loc135 6.10e-01
c1.loc157 3.63e-01
c1m16     1.81e-01
c1.loc177 5.61e-02
c1m18     9.03e-02
c1.loc182 1.08e-01
c1m19     2.38e-01
c1m22     9.20e-02
c1.loc219 1.03e-01
c1m24     1.62e-01
c1.loc236 3.83e-01
c1.loc240 7.45e-01
c1.loc262 2.00e+00
c1.loc267 2.41e+00
c1.loc268 2.48e+00
c1.loc269 2.53e+00
c1.loc270 2.56e+00
c1m28     2.57e+00
c1.loc272 2.52e+00
c1.loc273 2.46e+00
c1.loc274 2.37e+00
c1.loc276 2.12e+00
c1m30     9.63e-01
c1m31     1.89e+00
c2m1      5.85e-01
c2.loc11  5.27e-01
c2m5      5.51e-01
c2m6      5.15e-01
c2.loc52  6.56e-01
c2m7      1.05e+00
c2.loc59  1.07e+00
c2.loc62  1.05e+00
c2.loc72  4.90e-01
c2.loc91  3.63e-01
c2m11     3.63e-01
c2.loc103 3.08e-01
c2.loc114 8.62e-02
c2m14     2.99e-02
c2.loc129 3.15e-02
c2.loc151 2.95e-02
c2.loc167 2.21e-01
c2.loc199 1.49e+00
c2.loc200 1.53e+00
c2.loc201 1.56e+00
c2.loc203 1.61e+00
c2.loc204 1.63e+00
c2m21     1.63e+00
c2.loc214 1.32e+00
c2.loc218 1.16e+00
c2.loc229 3.23e-01
c2.loc237 7.70e-03
c2.loc241 2.57e-02
c2m25     3.81e-02
c3.loc1   8.17e-01
c3.loc4   6.51e-01
c3.loc32  2.95e-01
c3.loc35  3.14e-01
c3m6      8.02e-01
c3.loc54  9.58e-01
c3.loc71  1.48e+00
c3.loc73  1.47e+00
c3m9      1.00e+00
c3.loc89  2.55e-01
c3m10     1.47e-01
c3.loc94  2.84e-01
c3m14     2.37e-01
c3m15     9.24e-04
c3.loc152 2.47e-02
c3m16     4.88e-02
c3.loc175 3.69e-05
c3.loc180 6.16e-02
c3m20     4.87e-01
c3.loc199 4.08e-01
c3m25     8.00e-02
c3.loc248 1.60e-01
c3m26     2.66e-01
c3.loc268 1.53e+00
c3.loc271 1.85e+00
c3.loc273 1.95e+00
c3m28     1.97e+00
c3m29     1.01e+00
c4m4      8.34e-03
c4.loc39  3.94e-03
c4m5      2.81e-03
c4.loc48  1.92e-02
c4.loc57  2.08e-02
c4m7      8.11e-03
c4.loc67  5.92e-03
c4m9      6.74e-02
c4m10     5.28e-01
c4m12     8.52e-01
c4.loc121 2.97e-01
c4m17     5.38e-02
c4m20     1.88e-02
c4m22     3.58e-01
c4m24     1.66e-02
c4.loc236 1.68e-02
c4.loc288 1.62e-01
c4.loc295 1.72e-01
c4m31     1.72e-01
c4.loc313 4.18e-03

たとえばc1m2からc2m25までの行を取得したいと思います。これを実現するための組み込み関数はありますか、それともループを作成して、含めたい要素のすべての行をチェックインする必要がありますか?ありがとうございました

4

3 に答える 3

4

順序付けされた係数を使用すると、文字値を使用>=<=て比較し、カスタム順序(つまり、アルファベット順以外)を定義できます。

これは要求したよりも短いサブセットですが、境界には任意の値を使用できます。

f <- factor(rownames(out.allpheno), levels=rownames(out.allpheno), ordered=TRUE)
out.allpheno[f >= 'c1m14' & f <= 'c1m16', ,drop=FALSE]

##           MAP2K2
## c1m14      0.492
## c1.loc134  0.565
## c1.loc135  0.610
## c1.loc157  0.363
## c1m16      0.181
于 2013-01-01T20:08:36.703 に答える
3

あなたがすでにそれらをすべて順番に持っているなら、あなたdata.framedf

idx1 <- which(row.names(df) == "c1m2")
idx2 <- which(row.names(df) == "c1m25")
df[idx1:idx2, ]
于 2013-01-01T20:06:31.957 に答える
0

正規表現を使用した別の解決策:

my_regex <- "^c[12]"
matched_rownames <- grep( my_regex, rownames(df), value=TRUE )
df[ rownames(df) %in% matched_rownames, , drop=FALSE ]

c1 これは、行名が通常の構造に従っていることは確かであるが、順序が正しくない可能性があり、またはで始まる行を取得したい場合に便利ですc2

于 2013-01-01T23:02:31.917 に答える