Rの値と等しくないサブセットをフィルタリングして、複数のデータフレームを作成します

yiah

TextとColoursの2つの列を持つデータフレームがあります。

library(tidyverse)
library(purrr)

# sample dataframe
df <- data.frame(Text = c("text1", "text2", "text3", "text4"), 
                 Colours = c("blue", "white", "green", "yellow"), stringsAsFactors = F)


必要なのは、「青」を含む行を除くすべての行を含むNOT_Blueなどのデータフレームです。言い換えれば、「青」に等しくない色を除くすべての色のデータフレームです。最後に、これらのデータフレームをcsvファイルのように書きたいと思います。

dplyr::filterand !=(等しくない)を使用する1つのデータフレームでは機能します

not_blue <- df %>% filter(!Colours == "blue")

not_blue
   Text Colours
1 text2   white
2 text3   green
3 text4  yellow

重要なのは、色/カテゴリごとに異なるデータフレームを作成する必要があるということです。

apply / mapファミリー関数の1つを使用する必要があると思います。そこで、関数で使用することを期待して、色を使用してベクトルを作成します。

# colours to feed the function
colours <- c("blue", "white", "green", "yellow")

# trying to make a function

remaining_colours <- function(x) {

  df <- df %>% filter(!Colours == x)
}


# using the formula with map_df of purrr
map_df(colours, remaining_colours) %>% arrange(Text)

# epic fail results
Text Colours
1  text1    blue
2  text1    blue
3  text1    blue
4  text2   white
5  text2   white
6  text2   white
7  text3   green
8  text3   green
9  text3   green
10 text4  yellow
11 text4  yellow
12 text4  yellow

この場合の適用/マップ/ループの作成方法を教えてください。

前もって感謝します!

シュリー

を使用する方法は次のとおりlapplyです。これにより、必要なデータフレームのリストが作成されます。

colours <- c("blue", "white", "green", "yellow")

result <- lapply(colours, function(x) {
             df %>% filter(!Colours == x)
          }) %>% 
          setNames(paste0("NOT_", colours))

result

$NOT_blue
   Text Colours
1 text2   white
2 text3   green
3 text4  yellow

$NOT_white
   Text Colours
1 text1    blue
2 text3   green
3 text4  yellow

$NOT_green
   Text Colours
1 text1    blue
2 text2   white
3 text4  yellow

$NOT_yellow
   Text Colours
1 text1    blue
2 text2   white
3 text3   green

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

個別のデータフレームのフィルタリングとサブセット化からデータフレームを作成しますか?

分類Dev

別のデータフレームをサブセット化し、サフィックスを追加して、ループ内に複数の新しいデータフレームを作成します

分類Dev

dplyrはサブセットのデータフレーム全体をフィルタリングします

分類Dev

リスト内の値に一致する複数の列を使用してデータフレームをフィルタリングまたはサブセット化する

分類Dev

データフレームの別のサブセットと等しいサンプルサイズで、グループごとにデータフレームのサブセットをサンプリングします

分類Dev

別の列に文字列値のサブセットを含むディクショナリに対してマッピングして、データフレーム列を作成します。その鍵として

分類Dev

複数の列(listまたはbase.Index)パンダをフィルタリングして新しいデータフレームを作成します

分類Dev

全体を繰り返すことなく、キーのサブセットに基づいてマップの要素をフィルタリングします

分類Dev

Pyspark:複数の条件に基づいてデータフレームをフィルタリングします

分類Dev

ネストされたlapplyを使用して基準をフィルタリングし、複数のデータフレームを作成します

分類Dev

同じ変数の複数のサブセットを使用して新しいデータフレームを作成します

分類Dev

一意の値に基づいてデータフレーム全体をフィルタリングし、Rに新しい列を作成します

分類Dev

他のデータフレームに基づいてR日付フレームをフィルター/サブセットします

分類Dev

パンダのデータフレームからサブセットを抽出して、重複がないことを確認しますか?

分類Dev

因子のレベルに基づいてデータフレームをサブセット化し、サブセット内の変数を条件として分位数の新しい変数を作成します

分類Dev

データフレーム列の文字列値とセルの値を比較して、複数値ディクショナリに基づいて新しいデータフレームを作成するにはどうすればよいですか?

分類Dev

r-データフレーム内のすべての変数をフィルタリングして、同じ値を持つ変数のうち少なくとも2つを探します

分類Dev

2つの列の変数値に基づいて、複数のデータフレームの行をサブセット化します

分類Dev

ループ内のデータフレームをサブセット化してRで新しいデータフレームを作成し、i値に基づいて各データフレーム名を割り当てたい

分類Dev

Rの名前でデータフレームのリストのサブセットを作成します

分類Dev

いくつかの列の値によって、Rシャイニーでデータフレームを効率的にフィルタリングします

分類Dev

Rでリーフレットとシャイニーを使用してマップをフィルタリングする-複数の値の属性

分類Dev

R、Shiny:リアクティブな列名の条件に基づいてデータフレームをサブセット化します

分類Dev

列の最大のインデックスと値に基づいて、データフレームの行をフィルタリングします

分類Dev

csvファイルをフィルタリングし、データを使用して.csvファイルの新しいセットを作成します

分類Dev

フィルタリングされた文字でデータフレームを分割し、複数の新しい列を作成します

分類Dev

ループ関数を使用して、データフレームをデータフレームのリストにフィルタリングします

分類Dev

特定の月の値に基づいて、別の列を条件としてパンダのデータフレームをフィルタリングします

分類Dev

特定の月の値に基づいて、別の列を条件としてパンダのデータフレームをフィルタリングします

Related 関連記事

  1. 1

    個別のデータフレームのフィルタリングとサブセット化からデータフレームを作成しますか?

  2. 2

    別のデータフレームをサブセット化し、サフィックスを追加して、ループ内に複数の新しいデータフレームを作成します

  3. 3

    dplyrはサブセットのデータフレーム全体をフィルタリングします

  4. 4

    リスト内の値に一致する複数の列を使用してデータフレームをフィルタリングまたはサブセット化する

  5. 5

    データフレームの別のサブセットと等しいサンプルサイズで、グループごとにデータフレームのサブセットをサンプリングします

  6. 6

    別の列に文字列値のサブセットを含むディクショナリに対してマッピングして、データフレーム列を作成します。その鍵として

  7. 7

    複数の列(listまたはbase.Index)パンダをフィルタリングして新しいデータフレームを作成します

  8. 8

    全体を繰り返すことなく、キーのサブセットに基づいてマップの要素をフィルタリングします

  9. 9

    Pyspark:複数の条件に基づいてデータフレームをフィルタリングします

  10. 10

    ネストされたlapplyを使用して基準をフィルタリングし、複数のデータフレームを作成します

  11. 11

    同じ変数の複数のサブセットを使用して新しいデータフレームを作成します

  12. 12

    一意の値に基づいてデータフレーム全体をフィルタリングし、Rに新しい列を作成します

  13. 13

    他のデータフレームに基づいてR日付フレームをフィルター/サブセットします

  14. 14

    パンダのデータフレームからサブセットを抽出して、重複がないことを確認しますか?

  15. 15

    因子のレベルに基づいてデータフレームをサブセット化し、サブセット内の変数を条件として分位数の新しい変数を作成します

  16. 16

    データフレーム列の文字列値とセルの値を比較して、複数値ディクショナリに基づいて新しいデータフレームを作成するにはどうすればよいですか?

  17. 17

    r-データフレーム内のすべての変数をフィルタリングして、同じ値を持つ変数のうち少なくとも2つを探します

  18. 18

    2つの列の変数値に基づいて、複数のデータフレームの行をサブセット化します

  19. 19

    ループ内のデータフレームをサブセット化してRで新しいデータフレームを作成し、i値に基づいて各データフレーム名を割り当てたい

  20. 20

    Rの名前でデータフレームのリストのサブセットを作成します

  21. 21

    いくつかの列の値によって、Rシャイニーでデータフレームを効率的にフィルタリングします

  22. 22

    Rでリーフレットとシャイニーを使用してマップをフィルタリングする-複数の値の属性

  23. 23

    R、Shiny:リアクティブな列名の条件に基づいてデータフレームをサブセット化します

  24. 24

    列の最大のインデックスと値に基づいて、データフレームの行をフィルタリングします

  25. 25

    csvファイルをフィルタリングし、データを使用して.csvファイルの新しいセットを作成します

  26. 26

    フィルタリングされた文字でデータフレームを分割し、複数の新しい列を作成します

  27. 27

    ループ関数を使用して、データフレームをデータフレームのリストにフィルタリングします

  28. 28

    特定の月の値に基づいて、別の列を条件としてパンダのデータフレームをフィルタリングします

  29. 29

    特定の月の値に基づいて、別の列を条件としてパンダのデータフレームをフィルタリングします

ホットタグ

アーカイブ