如何将函数应用于由R中的分类变量过滤的一系列数据框

时间:2018-10-10 15:27:50

标签: r function apply

我有一个包含3个数字变量,1个结果和1个分类变量的数据框df

我需要执行一个过程,其中涉及按类别A或B的不同级别过滤df,然后将其转储到binnedplot之类的函数中,以检查分类变量和数值变量之间的相互作用。

样本df:

set.seed(10)

df=data.frame(num1=sample(100,60), 
              num2=sample(100,60), 
              num3=sample(100,60),
              category=as.factor(rep(c("A","B"),30)),
              outcome=sample(c(0,1),60, replace=T))

   df1=df%>%filter(category=="A")
   df2=df%>%filter(category=="B")

binnedplot(df1$num1, df1$outcome)
binnedplot(df2$num1, df2$outcome)

binnedplot(df1$num2, df1$outcome)
binnedplot(df2$num2, df2$outcome)

binnedplot(df1$num3, df1$outcome)
binnedplot(df2$num3, df2$outcome)

更新:

split.dfs<-split(df, df$category)
par(mar=c(1,1,1,1))
par(mfcol=c(2,1))
lapply(split.dfs, function(x) lapply(df[1:3], function(x) binnedplot(x, df$outcome, main=df$category)))

最初,我想知道如何通过函数以更可扩展的方式执行此操作,例如我可以处理更多的数字和类别列而无需过多重复。

现在有了更新的代码(仍然有错误),我的主要问题是如何使用正确的类别标题标记3个2x1面板,以及如何使用num1 / num2 / num3标记x轴,以使图更加清晰。

1 个答案:

答案 0 :(得分:1)

您可以结合使用<p>...and so the brave knight<some tag(s) that show page 2 begins here>killed the dragon</p> by

lapply