通过过滤不等于R中的值的子集来创建多个数据框

ah

我有一个带有两列“文本”和“颜色”的数据框。

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,其中包括除包含“ blue”的行以外的所有行。换句话说,除了不等于“蓝色”的颜色以外,具有所有颜色的数据框。最后,我想编写这些数据框,如csv文件。

对于一个数据框,使用dplyr::filter!=(不等于)

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

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

问题是我需要为每种颜色/类别创建一个不同的数据框。

我想我需要使用apply / map系列功能之一。因此,我创建了一个带有颜色的矢量,希望在函数中使用它。

# 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

想要通过在循环中对数据框进行子集化并根据 i 值分配每个数据框名称来在 R 中创建新数据框

来自分类Dev

Pandas:如何过滤数据框中不等于其他数据框中列组合的行?

来自分类Dev

如何通过按列中的值切片来创建多个数据框(如列表)?

来自分类Dev

在AngularJS中过滤不等于

来自分类Dev

R:使用“不等于”运算符dplyr /子集按两列进行过滤

来自分类Dev

通过在R中设置和引用两个数据框来创建新的数据框

来自分类Dev

ggplot 通过过滤一列中的数据来创建分组箱线图

来自分类Dev

根据R中另一数据框中的条件值来匹配/子集一个数据框

来自分类Dev

如果列值不等于 nan,则将自定义函数应用于数据框中的列

来自分类Dev

通过过滤多列(list 或 base.Index)pandas 来创建一个新的数据框

来自分类Dev

通过过滤时间戳列来制作数据帧的子集

来自分类Dev

如何过滤数据不等于谷歌表中输入ID的数据范围?

来自分类Dev

在RStudio中使用多个条件进行过滤“不等于”

来自分类Dev

如果值不等于数字,如何从Pandas数据框中选择行?

来自分类Dev

值不等于 或值不等于 jQuery 中的空间

来自分类Dev

从R中的多个数据框中过滤行

来自分类Dev

如果列中的数据不等于 VIEW 表中的值,如何更改列中的数据?

来自分类Dev

过滤数据不等于特定文本 jqgrid

来自分类Dev

通过过滤 R 中的值去除异常值

来自分类Dev

如果Equip_No不等于Equip_no文本框中的值,如何显示MsgBox?

来自分类Dev

Sheet DataFrame变成不等于相同的构造数据框

来自分类Dev

在R中的多个数据框中的一列中创建唯一值列表

来自分类Dev

如何通过在数据框R中创建列值列表来对列值进行分组

来自分类Python

如何在Django queryset过滤中执行不等于?

来自分类Dev

如何在AWS CLI中过滤不等于

来自分类Dev

想解释 Spark 中的不等于(!=)过滤条件

来自分类Dev

如何过滤不等于Django中的queryset?

来自分类Dev

如何通过循环遍历 R 中的垂直数据框来创建多个图?

来自分类Dev

如何通过检查值是否等于模式来创建二进制熊猫数据框

Related 相关文章

  1. 1

    想要通过在循环中对数据框进行子集化并根据 i 值分配每个数据框名称来在 R 中创建新数据框

  2. 2

    Pandas:如何过滤数据框中不等于其他数据框中列组合的行?

  3. 3

    如何通过按列中的值切片来创建多个数据框(如列表)?

  4. 4

    在AngularJS中过滤不等于

  5. 5

    R:使用“不等于”运算符dplyr /子集按两列进行过滤

  6. 6

    通过在R中设置和引用两个数据框来创建新的数据框

  7. 7

    ggplot 通过过滤一列中的数据来创建分组箱线图

  8. 8

    根据R中另一数据框中的条件值来匹配/子集一个数据框

  9. 9

    如果列值不等于 nan,则将自定义函数应用于数据框中的列

  10. 10

    通过过滤多列(list 或 base.Index)pandas 来创建一个新的数据框

  11. 11

    通过过滤时间戳列来制作数据帧的子集

  12. 12

    如何过滤数据不等于谷歌表中输入ID的数据范围?

  13. 13

    在RStudio中使用多个条件进行过滤“不等于”

  14. 14

    如果值不等于数字,如何从Pandas数据框中选择行?

  15. 15

    值不等于 或值不等于 jQuery 中的空间

  16. 16

    从R中的多个数据框中过滤行

  17. 17

    如果列中的数据不等于 VIEW 表中的值,如何更改列中的数据?

  18. 18

    过滤数据不等于特定文本 jqgrid

  19. 19

    通过过滤 R 中的值去除异常值

  20. 20

    如果Equip_No不等于Equip_no文本框中的值,如何显示MsgBox?

  21. 21

    Sheet DataFrame变成不等于相同的构造数据框

  22. 22

    在R中的多个数据框中的一列中创建唯一值列表

  23. 23

    如何通过在数据框R中创建列值列表来对列值进行分组

  24. 24

    如何在Django queryset过滤中执行不等于?

  25. 25

    如何在AWS CLI中过滤不等于

  26. 26

    想解释 Spark 中的不等于(!=)过滤条件

  27. 27

    如何过滤不等于Django中的queryset?

  28. 28

    如何通过循环遍历 R 中的垂直数据框来创建多个图?

  29. 29

    如何通过检查值是否等于模式来创建二进制熊猫数据框

热门标签

归档