R 如何根据用户指定的条件对数据帧进行子集划分
我有一个数据框包含三个不同的贷款人口a,B和C。每个贷款人口有两个子组NR,RF。数据框架还包含贷款水平年和风险类型信息 我需要编写函数来根据用户定义的参数对数据帧进行子集。用户可以选择运行整个贷款群体,也可以选择单个群体、子群体、风险类型或这些变量的任意组合。 例如:use可能希望仅子集pop='A'或仅子集pop='C',year==2001或risk_type==3 有人能建议我完成这项任务的方法吗 这是样本数据R 如何根据用户指定的条件对数据帧进行子集划分,r,dplyr,R,Dplyr,我有一个数据框包含三个不同的贷款人口a,B和C。每个贷款人口有两个子组NR,RF。数据框架还包含贷款水平年和风险类型信息 我需要编写函数来根据用户定义的参数对数据帧进行子集。用户可以选择运行整个贷款群体,也可以选择单个群体、子群体、风险类型或这些变量的任意组合。 例如:use可能希望仅子集pop='A'或仅子集pop='C',year==2001或risk_type==3 有人能建议我完成这项任务的方法吗 这是样本数据 df <- data.frame(id=c(1:10),
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)
我的子集=函数。。。第……款,。。。;my_subsetop==C或仅使用香草子集;我真的不知道用户在这里与您的数据交互意味着什么。