根据一个或多个data.frame值创建一个子集函数

不会

如何使函数使用一个或多个值对(x1,y1; x2,y2; ...根据需要)来对数据帧进行子集化

selection <- function(x1,y1, ...){
               dfselected    <- subset(df, V1 == "x1" & V2 == "y1" 
              ##  MAY OR MAY NOT BE PRESENT ##
                                         | V1 == "x2" & V2 == "y2")
               return(dfselected)
                                  }

我可以subset()为单个索引执行此操作。例:

df <- data.frame(
        V1 = c(rep("a",5), rep("b",5)),
        V2 = rep(c(1:5),2),
        V3 = c(101:110)
                 )

V1 V2  V3
a  1  101
a  2  102
a  3  103
a  4  104
a  5  105
b  1  106
b  2  107
b  3  108
b  4  109
b  5  110

夫妻(“ a”,“ 3”)和(“ b”,“ 4”)的子集看起来像

dfselected <- subset(df, V1 == "a" & V2 == 3 | V1 == "b" & V2 == 4 )

我找不到类似的功能。我不知道是否必须将未指定数量的参数传递给函数(所谓的“三个点”)或使用if/else我是函数的初学者,因此也欢迎链接或示例。我主要从以下内容开始:http//www.ats.ucla.edu/stat/r/library/intro_function.htm

------------------------------哈德利回答后的解决方案

selection <- function (x,y){
                            match <- data.frame(
                                               V1 = x,
                                               V2 = y,
                                               stringsAsFactors = FALSE
                                                )
                            return(dplyr::semi_join(df, match))
                           }
哈德利

听起来像您想要一个半联接:在x中查找在y中具有匹配条目的所有行:

df <- data.frame(
  V1 = c(rep("a",5), rep("b",5)),
  V2 = rep(c(1:5), 2),
  V3 = c(101:110),
  stringsAsFactors = FALSE
)

match <- data.frame(
  V1 = c("a", "b"),
  V2 = c(3L, 4L),
  stringsAsFactors = FALSE
)

library(dplyr)
semi_join(df, match)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建一个子集数组

来自分类Dev

如何在 sapply 函数上放置一个循环来为多个参与者创建一个子集?

来自分类Dev

取一个子集并创建一个新的数据框

来自分类Dev

根据多个条件返回一个值

来自分类Dev

如何子集一个data.frame?

来自分类Dev

创建一个子类的多个实例,只有一个超类的实例

来自分类Dev

根据一个值将一个类分配给多个元素

来自分类Dev

使用dplyr将值从所选子集的一个子集复制到所有其他子集

来自分类Dev

如何仅选择语料库术语的一个子集以在tm中创建TermDocumentMatrix

来自分类Dev

Python:如何最好地解析csv和仅计数一个子集的值

来自分类Dev

Python:如何最好地解析csv和仅计数一个子集的值

来自分类Dev

在列中找到最频繁的值,并取其中的一个子集

来自分类Dev

JavaScript-根据IDS的另一个子集对ID数组进行排序

来自分类Dev

datetimeindex的另一个子集?

来自分类Dev

numpy的:工作矩阵的一个子集

来自分类Dev

使用nHibernate QueryOver来加入一个子集

来自分类Dev

修改熊猫的一个子集多指标

来自分类Dev

检查数字列表是一个子集

来自分类Dev

MySQL从集合中排除一个子集

来自分类Dev

对第一个子集类别做减法

来自分类Dev

XSL - 根据一个 XML 子节点的不同值创建多个表

来自分类Dev

在一个子集的单元格中,确定是否至少有一个对应的单元格与一个值匹配

来自分类Dev

一个子集比另一个子集的NRQL百分比

来自分类Dev

创建一个类的多个实例,但根据特定的属性(多个“单个”)使它们保持唯一

来自分类Dev

在一个函数内动态创建多个函数

来自分类Dev

一个包装类只公开它所包装的类的属性的一个子集

来自分类Dev

参数是一个联合,返回类型被限制为该联合的一个子集

来自分类Dev

根据函数结果从另一个 ndarray 创建一个 ndarray

来自分类Dev

循环遍历data.frame中的列,并根据循环中的计算创建一个新的data.frame

Related 相关文章

  1. 1

    创建一个子集数组

  2. 2

    如何在 sapply 函数上放置一个循环来为多个参与者创建一个子集?

  3. 3

    取一个子集并创建一个新的数据框

  4. 4

    根据多个条件返回一个值

  5. 5

    如何子集一个data.frame?

  6. 6

    创建一个子类的多个实例,只有一个超类的实例

  7. 7

    根据一个值将一个类分配给多个元素

  8. 8

    使用dplyr将值从所选子集的一个子集复制到所有其他子集

  9. 9

    如何仅选择语料库术语的一个子集以在tm中创建TermDocumentMatrix

  10. 10

    Python:如何最好地解析csv和仅计数一个子集的值

  11. 11

    Python:如何最好地解析csv和仅计数一个子集的值

  12. 12

    在列中找到最频繁的值,并取其中的一个子集

  13. 13

    JavaScript-根据IDS的另一个子集对ID数组进行排序

  14. 14

    datetimeindex的另一个子集?

  15. 15

    numpy的:工作矩阵的一个子集

  16. 16

    使用nHibernate QueryOver来加入一个子集

  17. 17

    修改熊猫的一个子集多指标

  18. 18

    检查数字列表是一个子集

  19. 19

    MySQL从集合中排除一个子集

  20. 20

    对第一个子集类别做减法

  21. 21

    XSL - 根据一个 XML 子节点的不同值创建多个表

  22. 22

    在一个子集的单元格中,确定是否至少有一个对应的单元格与一个值匹配

  23. 23

    一个子集比另一个子集的NRQL百分比

  24. 24

    创建一个类的多个实例,但根据特定的属性(多个“单个”)使它们保持唯一

  25. 25

    在一个函数内动态创建多个函数

  26. 26

    一个包装类只公开它所包装的类的属性的一个子集

  27. 27

    参数是一个联合,返回类型被限制为该联合的一个子集

  28. 28

    根据函数结果从另一个 ndarray 创建一个 ndarray

  29. 29

    循环遍历data.frame中的列,并根据循环中的计算创建一个新的data.frame

热门标签

归档