Rのすべての列の合計への寄与に基づいてデータフレームの列を削除する方法

Dirk Buttke

すべての列の合計への寄与に基づいて、データフレームから列を削除しようとしています。

1x5データフレームの例は次のようになります(同様の方法で5x1データフレームから行を削除してから転置することも可能だと思います)。値の合計が100になると仮定します。

df <- data.frame(V1 = 5, V2 = 10, V3 = 20, V4 = 40, V5 = 25)

V1    V2     V3    V4    V5  

5     10     20    40    25 

ここで、たとえばすべての列の合計の少なくとも80%に最も貢献する列を保持したいと思います。

だから私が達成したいのは:

V3    V4    V5  

20    40    25 

これを行うためのエレガントな方法はありますか?

前もって感謝します!

akrun

使用できます tidyverse

library(tidyr)
library(dplyr)
pivot_longer(df, everything()) %>%
    arrange(desc(value)) %>% 
    filter(!lag(cumsum(value) >  80, default = FALSE)) %>%
    deframe 
# V4 V5 V3 
#40 25 20 

または同じ順序で必要な場合

pivot_longer(df, everything()) %>%
      arrange(desc(value)) %>%
      filter(!lag(cumsum(value) >  80, default = FALSE)) %>% 
      arrange(match(name, names(df))) %>% 
      mutate(rn = 1) %>%
      pivot_wider(names_from = name, values_from = value) %>% 
      select(-rn)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

他の列の値に基づいてデータフレームの値の合計を計算する

分類Dev

R:特定の列の値に基づいてデータフレームの行を削除する方法

分類Dev

データフレーム内の別の列の条件に基づいて列を合計する

分類Dev

文字列照合に基づいてRデータフレームの列を選択する方法

分類Dev

pandasデータフレーム:共通の列に基づいて複数列の値を合計する

分類Dev

R:他の列の値に基づいてデータフレームの1つの列の合計を移動する

分類Dev

データフレームの部分文字列に基づいて列を合計する

分類Dev

データフレーム列の合計に基づいてパンダシリーズを作成する

分類Dev

別の列の2つの行に基づいてデータフレーム列を計算する

分類Dev

列の行に基づいてデータフレームを分割する方法

分類Dev

等しい長さに基づいてデータフレーム列をRの別々の行に分割する方法

分類Dev

PythonPandas同様の列に基づいて2つ以上のデータフレームを結合する方法

分類Dev

複数の列に基づいてデータフレーム内のサブセットの合計を計算する方法

分類Dev

既存の列に基づいてデータフレームの新しい列を計算する

分類Dev

既存の列に基づいてデータフレーム内の新しい累積列を計算する

分類Dev

列名の条件に基づいてパンダデータフレームの列値を合計します

分類Dev

データフレーム(文字列)に類似の行があることに基づいて、データフレームの特定の行を削除する方法

分類Dev

Pythonのカスタム関数に基づいてデータフレームの各列を集計する

分類Dev

別の列のランクに基づいてRのデータフレームに列を追加する

分類Dev

別のデータフレームの行の値に基づいて、1つのデータフレームの列を合計します

分類Dev

別々の列の場所に基づいてデータフレームの平均を計算する

分類Dev

Rの複数の列に基づいてデータフレームを集約する方法は?

分類Dev

R:ベクトル値に基づいてデータフレームから複数の列を削除する

分類Dev

他の列の条件に基づいてパンダのデータフレーム列を操作する方法

分類Dev

pandasデータフレームの他の列の値に基づいて「Balance」列を更新する方法

分類Dev

以前のレコードの値に基づいてSparkデータフレームの列を更新する方法

分類Dev

Pythonデータフレーム:行の特定のIDに基づいて値の合計を計算して列に表示する

分類Dev

他の列スパークの値に基づいてデータフレームに列を追加する方法

分類Dev

条件に基づいて、Rの2つのデータフレーム間の列の値を検証する

Related 関連記事

  1. 1

    他の列の値に基づいてデータフレームの値の合計を計算する

  2. 2

    R:特定の列の値に基づいてデータフレームの行を削除する方法

  3. 3

    データフレーム内の別の列の条件に基づいて列を合計する

  4. 4

    文字列照合に基づいてRデータフレームの列を選択する方法

  5. 5

    pandasデータフレーム:共通の列に基づいて複数列の値を合計する

  6. 6

    R:他の列の値に基づいてデータフレームの1つの列の合計を移動する

  7. 7

    データフレームの部分文字列に基づいて列を合計する

  8. 8

    データフレーム列の合計に基づいてパンダシリーズを作成する

  9. 9

    別の列の2つの行に基づいてデータフレーム列を計算する

  10. 10

    列の行に基づいてデータフレームを分割する方法

  11. 11

    等しい長さに基づいてデータフレーム列をRの別々の行に分割する方法

  12. 12

    PythonPandas同様の列に基づいて2つ以上のデータフレームを結合する方法

  13. 13

    複数の列に基づいてデータフレーム内のサブセットの合計を計算する方法

  14. 14

    既存の列に基づいてデータフレームの新しい列を計算する

  15. 15

    既存の列に基づいてデータフレーム内の新しい累積列を計算する

  16. 16

    列名の条件に基づいてパンダデータフレームの列値を合計します

  17. 17

    データフレーム(文字列)に類似の行があることに基づいて、データフレームの特定の行を削除する方法

  18. 18

    Pythonのカスタム関数に基づいてデータフレームの各列を集計する

  19. 19

    別の列のランクに基づいてRのデータフレームに列を追加する

  20. 20

    別のデータフレームの行の値に基づいて、1つのデータフレームの列を合計します

  21. 21

    別々の列の場所に基づいてデータフレームの平均を計算する

  22. 22

    Rの複数の列に基づいてデータフレームを集約する方法は?

  23. 23

    R:ベクトル値に基づいてデータフレームから複数の列を削除する

  24. 24

    他の列の条件に基づいてパンダのデータフレーム列を操作する方法

  25. 25

    pandasデータフレームの他の列の値に基づいて「Balance」列を更新する方法

  26. 26

    以前のレコードの値に基づいてSparkデータフレームの列を更新する方法

  27. 27

    Pythonデータフレーム:行の特定のIDに基づいて値の合計を計算して列に表示する

  28. 28

    他の列スパークの値に基づいてデータフレームに列を追加する方法

  29. 29

    条件に基づいて、Rの2つのデータフレーム間の列の値を検証する

ホットタグ

アーカイブ