繁体   English   中英

如何通过组度量的方式在dfyr :: drange中排列组?

[英]How to dplyr::arrange groups within a df by the mean of group measure?

在Kara Woo的https://stackoverflow.com/a/26555424/9350837答案的基础上,我希望通过各个组的摘要度量vizCredPrcnt对我的分组df进行排序。

到目前为止,这是我的代码,

credData <- ReShapeAdCredSubset %>%
group_by(CredentialQ, year) %>%
summarise(vizCredPrcnt = (sum(credential_wIndiv, na.rm = TRUE) / (sum(credential_wAll, na.rm = TRUE)))) %>%
arrange(CredentialQ, year, desc(mean(vizCredPrcnt)))

这是我得到的错误,

range_impl(.data,点)中的错误:位置3处的尺寸(1)不正确,预期为144

这是我的小标题,是我要排序的分组均值的视觉效果,

分组的小标题安排

在此处输入图片说明

很高兴听到您的想法!

我将尝试创建一个由CredentialQ组指定visCredPrcnt变量均值的变量,然后将其通过如下所示的安排调用传递:

credData <- ReShapeAdCredSubset %>%
    group_by(CredentialQ, year) %>%
    summarise(vizCredPrcnt = (sum(credential_wIndiv, na.rm = TRUE) / (sum(credential_wAll, na.rm = TRUE)))) %>%
    ungroup() %>%
    group_by(CredentialQ) %>%
    summarize(meanVizCredPrcnt = mean(visCredPrcnt, na.rm = T)) %>%
    arrange(CredentialQ, year, desc(meanVizCredPrcnt))

非常感谢,尼克! 您的建议,以及尼古拉的https://stackoverflow.com/a/44174523/9350837 ,都使我走上了正确的道路。

我接受了您的两个建议,并为此将它们融合在一起,可以解决问题!

credData <- ReShapeAdCredSubset %>%
group_by(CredentialQ, year) %>%
summarise(vizCredPrcnt = (sum(credential_wIndiv, na.rm = TRUE) / (sum(credential_wAll, na.rm = TRUE)))) 

credData <- credData %>%
mutate(meanViz = mean(vizCredPrcnt, na.rm = TRUE)) %>%
group_by(CredentialQ) %>%
arrange(desc(meanViz))

再次感谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM