如何根据用户指定的条件对数据帧进行子集

卡尔

我有一个数据框,其中包含三个不同的贷款人口(A,B和C)。每个贷款人口都有两个子组(NR,RF)。数据框还具有贷款级别年份和风险类型信息。

我需要编写函数以根据用户定义参数对数据框进行子集化。用户可以选择运行整个贷款人口,也可以选择单个人口,子组,风险类型或这些变量的任意组合。例如:用户可能希望仅对pop ='A'子集或仅对pop ='C'子集&year == 2001或risk_type == 3。

有人可以建议我可以完成此任务的方法吗?

这是示例数据;

df <- data.frame(id=c(1:10),
         pop=c(rep('A',3),rep('B',3),rep('C',4)),
         subgroup=c('NR','NR','RF','RF','NR','RF','NR','NR','RF','NR'),
         year=c(2000,2001,2002,2000,2001,2002,2000,2001,2002,2002),
         risk_type=c(1,1,3,2,2,3,1,3,2,1)
         )
溴甲酰

您可以对dplyr过滤器做一个简单的包装:

library(dplyr)
library(lazyeval)

df_subset_ = function(condition)
  df %>% filter_(.dots = condition)

df_subset = function(condition)
  df_subset_(lazy(condition))

df_subset(pop == 'C' & year == 2001)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据R中的某些条件对数据帧进行子集

如何基于R中的条件对数据帧进行子集

根据逻辑条件在行的子集上对数据帧进行子集

根据向量列表对数据帧进行子集化

根据特定列的值对数据帧进行子集

在 R 中,如何根据向量中的值对数据帧的行进行子集

R:如何同时按条件和随机对数据帧进行子集化?

如何按不符合条件的行名对数据帧进行子集化?

根据动态用户输入对数据进行子集或过滤

根据总行条件对数据框进行子集

根据条件列名称对数据框进行子集

根据互惠条件对数据框进行子集

如何根据R中列名中的数字条件对数据进行子集化?

如何根据多个联合条件在 R 中对数据框进行子集化

如何使用向量对数据帧列表进行子集

如何根据条件对数据进行分组?

根据条件对数据帧行进行分组和平均

R - 如何根据条件向量对存储在列表中的所有数据帧进行子集

如何根据下一次出现在R中对数据帧进行子集化?

如何根据索引号对数据框进行子集化?

如何基于适用于大量列的“不等于”条件对数据帧进行子集化?

如何基于R中的条件组合对数据进行子集

如何基于两个条件对数据进行子集

如何基于向量对数据帧进行子集化,然后在dplyr中进行分组

R,Shiny:根据具有反应性列名称的条件对数据框进行子集

根据条件对数据进行子集和重命名,并在Dplyr中查找持续时间

根据R中的多个通配符条件对数据框进行子集

Spark DataFrame - 如何根据条件对数据进行分区

如何根据条件对数据框的名称进行排序