複数の列間の接続に基づいて、データフレームの行を削除します

タニア

次のデータフレームを検討します。

# input 
a <- data.frame(
  X1=c("a","a","a","a","a","a","a","a","a","a","a","b","b","b","b","b","b","b","b","b"),
  X2=c(2,4,6,2,4,7,9,5,4,7,3,5,8,4,3,5,7,6,3,5),
  X3=c(5,6,1,4,7,5,5,4,4,2,5,4,5,2,4,7,3,5,3,7)
)

変数2と変数3の両方の点で、2つの行が同じ因子レベル(変数1)である別の行よりも小さい行を削除するにはどうすればよいですか?

例えば

a[1,1]==a[2,1] and
a[1,2]<a[2,2] and 
a[1,3]<a[2,3] then a[1,] should be removed.

# output 

a <- data.frame( X1=c("a","a","a","a","b","b","b","b"), 
                 X2=c(4,4,7,9,8,5,6,5), 
                 X3=c(6,7,5,5,5,7,5,7) ) 
リカルドオリベロス-ラモス

関数isRemoved各行の条件を与えるTRUEFALSE与えますi

isRemoved = function(i, a) {
  out = logical(nrow(a))
  for(j in 1:nrow(a)) {
    out[j] = a[i,1]==a[j,1] & a[i,2]<a[j,2] & a[i,3]<a[j,3]
  }
  out = any(out)
  return(out)
}

次に、それをすべての行に適用できます。

remove = sapply(1:nrow(a), isRemoved, a=a)

必要な行を保持します。

a.new = a[!remove, ]

a.new 

   X1 X2 X3
2   a  4  6
5   a  4  7
6   a  7  5
7   a  9  5
13  b  8  5
16  b  5  7
18  b  6  5
20  b  5  7

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

前の複数の行/列の値に基づいてデータフレームの行を削除します

分類Dev

複数の列と行の基準に基づいてRデータフレームを展開します

分類Dev

列の複数の値に基づいてデータフレームに新しい行を作成します

分類Dev

複数の条件に基づいてPySparkデータフレームの行を削除します

分類Dev

複数の列に基づいてRのデータフレーム行を結合します

分類Dev

Daskデータフレーム-区切り文字に基づいて列を複数の行に分割します

分類Dev

異なるデータフレームから複数の条件に基づいてデータフレームの行を削除します

分類Dev

異なるデータフレームから複数の条件に基づいてデータフレームの行を削除します

分類Dev

2 つの列の値に基づいてデータフレーム pandas の重複を削除します

分類Dev

複数の列に基づいてパンダデータフレームから行を削除する

分類Dev

Pandasデータフレーム-複数の条件計算に基づいて複数の列を作成します

分類Dev

複数の列の値に基づいて新しいデータフレーム列を作成します

分類Dev

条件に基づいてデータフレームの行を削除します

分類Dev

dplyrデータフレームの単一の列に基づいて複数の列を変更します

分類Dev

R:データフレームの列の行値に基づいて行を削除します

分類Dev

列名の複数の基準に基づいてデータフレーム列を抽出します

分類Dev

データフレームの任意の列の値に基づいて行を削除します

分類Dev

Rの条件に基づいて、データフレームに複数の新しい列を追加します

分類Dev

Rの複数の列に基づいて2つのデータフレームをマージします

分類Dev

特定の条件に基づいて、データフレームの1つの列のすべての行を複数の列に転置します

分類Dev

複数の列に基づいて、形状が異なる2つのデータフレーム間で複数の列を減算します

分類Dev

pandasデータフレームの条件に基づいて、セルを複数の行に分割/分解します

分類Dev

pandas-複数の行の値に基づいて、合計された列データの行をデータフレームに追加します

分類Dev

条件に基づいてパンダデータフレームの重複行を削除します

分類Dev

条件に基づいてパンダデータフレームの重複行を削除します

分類Dev

複数の列としきい値に基づいてデータフレームをマージします

分類Dev

複数の条件に基づいて、データフレームからID全体を削除します

分類Dev

2つの列A、Bに基づいて、データフレームから重複を削除し、行を別の列Cの最大値で保持します

分類Dev

R:列のカテゴリに基づいてデータフレームから重複を削除します

Related 関連記事

  1. 1

    前の複数の行/列の値に基づいてデータフレームの行を削除します

  2. 2

    複数の列と行の基準に基づいてRデータフレームを展開します

  3. 3

    列の複数の値に基づいてデータフレームに新しい行を作成します

  4. 4

    複数の条件に基づいてPySparkデータフレームの行を削除します

  5. 5

    複数の列に基づいてRのデータフレーム行を結合します

  6. 6

    Daskデータフレーム-区切り文字に基づいて列を複数の行に分割します

  7. 7

    異なるデータフレームから複数の条件に基づいてデータフレームの行を削除します

  8. 8

    異なるデータフレームから複数の条件に基づいてデータフレームの行を削除します

  9. 9

    2 つの列の値に基づいてデータフレーム pandas の重複を削除します

  10. 10

    複数の列に基づいてパンダデータフレームから行を削除する

  11. 11

    Pandasデータフレーム-複数の条件計算に基づいて複数の列を作成します

  12. 12

    複数の列の値に基づいて新しいデータフレーム列を作成します

  13. 13

    条件に基づいてデータフレームの行を削除します

  14. 14

    dplyrデータフレームの単一の列に基づいて複数の列を変更します

  15. 15

    R:データフレームの列の行値に基づいて行を削除します

  16. 16

    列名の複数の基準に基づいてデータフレーム列を抽出します

  17. 17

    データフレームの任意の列の値に基づいて行を削除します

  18. 18

    Rの条件に基づいて、データフレームに複数の新しい列を追加します

  19. 19

    Rの複数の列に基づいて2つのデータフレームをマージします

  20. 20

    特定の条件に基づいて、データフレームの1つの列のすべての行を複数の列に転置します

  21. 21

    複数の列に基づいて、形状が異なる2つのデータフレーム間で複数の列を減算します

  22. 22

    pandasデータフレームの条件に基づいて、セルを複数の行に分割/分解します

  23. 23

    pandas-複数の行の値に基づいて、合計された列データの行をデータフレームに追加します

  24. 24

    条件に基づいてパンダデータフレームの重複行を削除します

  25. 25

    条件に基づいてパンダデータフレームの重複行を削除します

  26. 26

    複数の列としきい値に基づいてデータフレームをマージします

  27. 27

    複数の条件に基づいて、データフレームからID全体を削除します

  28. 28

    2つの列A、Bに基づいて、データフレームから重複を削除し、行を別の列Cの最大値で保持します

  29. 29

    R:列のカテゴリに基づいてデータフレームから重複を削除します

ホットタグ

アーカイブ