我目前正试图在一个巨大的样本量上制作一个漂亮的 geom_col 图。样本的名称(应该在 x 轴上)是数字和字符,因为我包含“N”表示阴性对照。
sample_names <- c(100,22,4,5,6,"N")
size <- c(3,2,3,4,2,3)
现在我想以一个漂亮的顺序排列它,从最低的 sample_name(意思是从 4 号样品开始,然后是 5 号样品,然后是 6 号样品,22 号样品,100 号样品)到最高并以N. 由于列中的值被标识为字符,因此它始终以样本 100 开头(因为 1-0-0 在 2-2 之前)。
d <- data.frame(sample_names,size) %>%
arrange(a)
以 N 结尾的升序排列会更令人愉悦。
我已经尝试将此列转换为数字并将结果 NA(代替“N”)替换为 0。
问题在于,该图包含样本之间的巨大差距:
d <- data.frame(sample_names,size) %>%
arrange(a) %>%
mutate(sample_names = as.numeric(sample_names))%>%
replace_na(list(sample_names = 0))
所以我的问题是:您是否知道如何将字符列排序为“正确”的升序方式,或者您是否知道如何缩小 ggplot2 中 x 轴上的间隙? 谢谢