【发布时间】:2020-08-27 02:33:32
【问题描述】:
这里是相当新的 R 用户,我目前正在学习 Dataquest.io 的 R 课程数据分析师,特别是在 NYC School Perception Guided Project 上工作。我正在尝试编写一个自定义函数,将两列子集到一个小标题中,并按相关系数降序对每个小标题进行排序。该函数对预期列进行子集化没有问题,但它从不按相关系数降序对小标题进行排序。我真的很想让每个小标题按降序排列,这样我就可以看到哪些相关对在顶行中具有最高的系数。
你可以在my GitHub page上下载我目前拥有的相关数据。
我编写了一个自定义函数来对 tibbles 进行子集化并按降序排列,然后将其映射到我创建的两个字符向量,最终生成一个包含 16 个 tibbles 的列表:
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::,以及其他几个没有结果或错误的故障排除选项。我对涉及不同包或完全从数据创建不同对象的其他解决方案持开放态度。这也是我在数小时未找到确切解决方案后发布的第二个堆栈溢出问题,如果有任何可重现性问题,请致歉。
【问题讨论】: