R图仅为指定级别按级别对因子重新排序
我试图创建一个图形,其中x轴(一个因子)按y轴(数值)的降序重新排序,但仅针对另一因子的两个级别之一 最初,我尝试使用以下代码:R图仅为指定级别按级别对因子重新排序,r,sorting,ggplot2,dplyr,tidyverse,R,Sorting,Ggplot2,Dplyr,Tidyverse,我试图创建一个图形,其中x轴(一个因子)按y轴(数值)的降序重新排序,但仅针对另一因子的两个级别之一 最初,我尝试使用以下代码: 重新排序(factor1,desc(value1)) 但是,此代码仅通过每个因子2下的两个值之和(我假定)重新组织图形(按降序排列);而我只对在factor2下重新组织一个级别(即“A”)的数据感兴趣 下面是一些示例数据以更好地说明 sampledata <- data.frame(factor1 = c("A", "A", "B", "B", "C", "C"
重新排序(factor1,desc(value1))
但是,此代码仅通过每个因子2
下的两个值之和(我假定)重新组织图形(按降序排列);而我只对在factor2
下重新组织一个级别(即“A”
)的数据感兴趣
下面是一些示例数据以更好地说明
sampledata <- data.frame(factor1 = c("A", "A", "B", "B", "C", "C", "D", "D", "E", "E",
"F", "F", "G", "G", "H", "H", "I", "I", "J", "J"),
factor2 = c("A", "H", "A", "H", "A", "H", "A", "H", "A", "H",
"A", "H", "A", "H", "A", "H", "A", "H", "A", "H"),
value1 = c(1, 5, 6, 2, 6, 8, 10, 21, 30, 5,
3, 5, 4, 50, 4, 7, 15, 48, 20, 21))
我之所以想按特定级别(比如说factor2==“a”
)对进行重新排序,是因为我可以查看factor2==“H”
值与“a”
点之间的任何偏差
我希望使用tidyverse
或dplyr
作为解决此问题的方法。库(ggplto2)
图书馆(dplyr)
样本数据%>%
变异(value2=+(factor2==“A”)*value1)%>%
ggplot(aes(x=重新排序(系数1,描述(值2+值1/最大值(值1))),y=值1,
组=系数2,颜色=系数2))+
几何点()+
xlab(“系数1”)
sampledata %>%
ggplot(aes(x=reorder(factor1, desc(value1)), y=value1, group=factor2, color=factor2)) +
geom_point()