R中每个字符变量的因变量箱线图

Boxplots of dependant variable with each character variables in R

我有一个包含以下列的数据框:

   ks3score    ks4score      ethnic      gender    SECshort    hiquamum   singlepar       house 
  "numeric"   "numeric" "character" "character" "character" "character" "character" "character" 
        fsm      parasp    computer     tuition      pupasp    homework    attitude         asc 
"character" "character" "character" "character" "character" "character" "character" "character" 
        sen     truancy      absent     IDACI_n     FSMband 
"character" "character" "character"   "numeric" "character" 

我想为每个字符变量绘制箱线图ks4score,现在我已经使用了下面的代码,但不够简洁:

boxplot(ks4score ~ ethnic, df)
boxplot(ks4score ~ gender, df)
...

请问有没有办法改进?谢谢

你可以试试:

cols <- names(df)[sapply(df, is.character)]
all_plots <- lapply(cols, function(x) boxplot(reformulate(x, 'ks4score'), df))