行の値に基づいて列を選択します

user3091668

最初の行番号に基づいてRのデータフレームの列を2つのデータフレーム(aおよびbにサブセット化したい

私の入力dat

    NE001457   NE001458   NE001494   NE001532   NE001533   NE001542
        1          0          1          1          1          1
 0.22951556  0.39403959  0.11835655  0.40844591 0.28442078 0.24236144
 0.04566349  0.14491037  0.03184582  0.0819644  0.18298301 -0.0339111
 0.04543686  0.05876655  0.23562874 -0.0717529 -0.0320517  -0.0851137

私の期待される出力a

     NE001457     NE001494   NE001532   NE001533   NE001542
        1             1          1          1          1
  0.22951556    0.11835655  0.40844591 0.28442078 0.24236144
  0.04566349    0.03184582  0.0819644  0.18298301 -0.0339111
  0.04543686   0.23562874  -0.0717529 -0.0320517  -0.0851137

私の期待される出力b

   NE001494 
       0          
  0.39403959  
  0.14491037  
  0.05876655  

私はすでにそのようなことa <- subset(dat, dat[1,] == 1)試しましたb <- subset(dat, dat[1,] == 0)が、うまくいきません。

いくつかのアイデア?

乾杯!

ジョナサン・ドゥルシ

たとえば、a<-dat[,(dat[1,]) == 1];で列を選択するだけです。唯一のトリックは、1つの列を抽出することになったときに、列名を再設定することです。

datatxt <- "
NE001457   NE001458   NE001494   NE001532   NE001533   NE001542
 1          0          1          1          1          1
0.22951556  0.39403959  0.11835655  0.40844591 0.28442078 0.24236144 
0.04566349  0.14491037  0.03184582  0.0819644  0.18298301 -0.0339111
0.04543686  0.05876655  0.23562874 -0.0717529 -0.0320517  -0.0851137"

df <- read.table(text=datatxt,header=TRUE)

df
#    NE001457   NE001458   NE001494   NE001532   NE001533   NE001542
#1 1.00000000 0.00000000 1.00000000  1.0000000  1.0000000  1.0000000
#2 0.22951556 0.39403959 0.11835655  0.4084459  0.2844208  0.2423614
#3 0.04566349 0.14491037 0.03184582  0.0819644  0.1829830 -0.0339111
#4 0.04543686 0.05876655 0.23562874 -0.0717529 -0.0320517 -0.0851137

acols <- (df[1,] == 1)
bcols <- !acols

acols
#  NE001457 NE001458 NE001494 NE001532 NE001533 NE001542
#1     TRUE    FALSE     TRUE     TRUE     TRUE     TRUE

bcols
#  NE001457 NE001458 NE001494 NE001532 NE001533 NE001542
#1    FALSE     TRUE    FALSE    FALSE    FALSE    FALSE

a <- as.data.frame(df[,acols])
colnames(a) <- colnames(df)[acols]
b <- as.data.frame(df[,bcols])
colnames(b) <- colnames(df)[bcols]

a
#    NE001457   NE001494   NE001532   NE001533   NE001542
#1 1.00000000 1.00000000  1.0000000  1.0000000  1.0000000
#2 0.22951556 0.11835655  0.4084459  0.2844208  0.2423614
#3 0.04566349 0.03184582  0.0819644  0.1829830 -0.0339111
#4 0.04543686 0.23562874 -0.0717529 -0.0320517 -0.0851137

b
#    NE001458
#1 0.00000000
#2 0.39403959
#3 0.14491037
#4 0.05876655

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

行の値に基づいて列を選択します

分類Dev

列の値に基づいて行を選択します

分類Dev

GROUPBY列に基づいて列として行の値を選択します

分類Dev

列の値に基づいてすべての行を選択しますpandas

分類Dev

group_by行とその列値に基づいて行を選択します

分類Dev

行を選択し、列の値に基づいて重複を削除します

分類Dev

特定の列の値に基づいて行を選択します

分類Dev

列pythonの最大値に基づいて行を選択します

分類Dev

SQLServer列の最大値に基づいて行を選択します

分類Dev

mysqlは多くの列値に基づいて行を選択します

分類Dev

列の重複に基づいて行を選択します

分類Dev

異なる列値に基づいて行を選択します(同じ行)

分類Dev

パンダ-他の列の値に基づいて、特定の列から行の値を選択します

分類Dev

特定の列の値に基づいて行を選択する

分類Dev

mysqlの別の行の値に基づいて値を選択します

分類Dev

SQL-列の値に基づいて行を選択し、

分類Dev

列の値に基づいて複数の行から選択します

分類Dev

SQL-選択した行間の別の列の平均に基づいて列の値を取得します

分類Dev

1列の最小値に基づいて行を選択する

分類Dev

行の値に基づいてnumpy列を選択する

分類Dev

行の値に基づいてnumpy列を選択する

分類Dev

行の値、Python、Pandasに基づいて列を選択する

分類Dev

個別の列値に基づいて行を選択する

分類Dev

パンダは行を選択し、別の列に基づいて最大の列値を取得します

分類Dev

列の値に基づいてDataFrameから行を選択し、16384行に制限します

分類Dev

(同じ列の)前の行の値に基づいて特定の行を選択します

分類Dev

列の値に基づいて、2つの同一の行から1つの行を選択します

分類Dev

列の値が列の上位Xにあるかどうかに基づいて行を選択します

分類Dev

列の値とその前の2行に基づいて行を選択します

Related 関連記事

  1. 1

    行の値に基づいて列を選択します

  2. 2

    列の値に基づいて行を選択します

  3. 3

    GROUPBY列に基づいて列として行の値を選択します

  4. 4

    列の値に基づいてすべての行を選択しますpandas

  5. 5

    group_by行とその列値に基づいて行を選択します

  6. 6

    行を選択し、列の値に基づいて重複を削除します

  7. 7

    特定の列の値に基づいて行を選択します

  8. 8

    列pythonの最大値に基づいて行を選択します

  9. 9

    SQLServer列の最大値に基づいて行を選択します

  10. 10

    mysqlは多くの列値に基づいて行を選択します

  11. 11

    列の重複に基づいて行を選択します

  12. 12

    異なる列値に基づいて行を選択します(同じ行)

  13. 13

    パンダ-他の列の値に基づいて、特定の列から行の値を選択します

  14. 14

    特定の列の値に基づいて行を選択する

  15. 15

    mysqlの別の行の値に基づいて値を選択します

  16. 16

    SQL-列の値に基づいて行を選択し、

  17. 17

    列の値に基づいて複数の行から選択します

  18. 18

    SQL-選択した行間の別の列の平均に基づいて列の値を取得します

  19. 19

    1列の最小値に基づいて行を選択する

  20. 20

    行の値に基づいてnumpy列を選択する

  21. 21

    行の値に基づいてnumpy列を選択する

  22. 22

    行の値、Python、Pandasに基づいて列を選択する

  23. 23

    個別の列値に基づいて行を選択する

  24. 24

    パンダは行を選択し、別の列に基づいて最大の列値を取得します

  25. 25

    列の値に基づいてDataFrameから行を選択し、16384行に制限します

  26. 26

    (同じ列の)前の行の値に基づいて特定の行を選択します

  27. 27

    列の値に基づいて、2つの同一の行から1つの行を選択します

  28. 28

    列の値が列の上位Xにあるかどうかに基づいて行を選択します

  29. 29

    列の値とその前の2行に基づいて行を選択します

ホットタグ

アーカイブ