编写自定义dplyr函数,以降序对列表中的每个小标题进行排序

问题描述

这里是R的新用户,我目前正在通过Dataquest.io的R数据分析师工作,特别是在纽约市学校感知指导项目上工作。我正在尝试编写一个自定义函数,该函数将两列细分为小节,并按相关系数按降序对每个小节进行排序。该函数毫无疑问将预期的列作为子集,但是它绝不会通过降低相关系数来对小标题进行排序。我真的很想让每个小标题都按降序排列,以便我可以看到哪些相关对在前几行中具有最高的系数。

您可以在it's the other way around上下载我到目前为止拥有的相关数据。

我编写了一个自定义函数,以子集并按降序排列小标题,然后将其映射到我创建的两个字符向量,最终生成了16个小标题的列表:

cor_func <- function(x,y) {
  cor_select %>% 
    dplyr::select(x,y) %>%
    dplyr::arrange(desc(y))
}

x_var <- names(cor_select)[1]
y_var <- names(cor_select)[c(6,11,13:26)]

cor_rank <- map2(x_var,y_var,cor_func)

当我索引结果列表中的某个小标题时,说cor_rank[1]时,我得到的小标题没有排序:

[[1]]
# A tibble: 16 x 2
   variable   avg_sat_score
   <chr>              <dbl>
 1 saf_p_11          0.113 
 2 com_p_11         -0.0909
 3 eng_p_11          0.0314
 4 aca_p_11          0.0330
 5 saf_t_11          0.303 
 6 com_t_11          0.0937
 7 eng_t_11          0.0488
 8 aca_t_11          0.137 
 9 saf_s_11          0.272 
10 com_s_11          0.163 
11 eng_s_11          0.167 
12 aca_s_11          0.286 
13 saf_tot_11        0.280 
14 com_tot_11        0.0881
15 eng_tot_11        0.0956
16 aca_tot_11        0.177 

我尝试将group_by添加到函数中,删除了dplyr::,以及其他两个故障排除选项,均未产生结果或错误。我愿意接受其他解决方案,这些解决方案涉及不同的程序包或完全根据数据创建不同的对象。这也是我第二次遇到堆栈溢出问题,这是我在找不到确切解决方案数小时后发布的,如果有任何可复制性问题,我们深表歉意。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)