我正在尝试制作一个图表,其中x轴是日期(每个刻度是1天),y轴的每个刻度表示唯一标识的个体(鱼)。然后,对于每个人每天,我将绘制一个点,以显示在某一天是否检测到每个人。
我的问题是,我有数千个探测器,以及大约400个人。唯一识别数字的个体非常大(例如:161795550和165705763是400个唯一ID中的两个)。有些人只看了几天,有些只看了几百。
问题:以这种方式绘制(使用ggplot2)会使y轴不可能在低和高唯一ID之间展开,而使用ggplot2则无法打破轴。因此,我对解决方案的想法是将唯一ID重新编号为1到400的序列,作为控制y轴上的扩展的一种方式。我可以手动完成此操作,但这需要很长时间。有没有什么好方法可以自动重命名?
以下是一些可用于重新创建应用情境的代码,我想将三个唯一ID(165705763,161795422,161795351)重命名为(1,2,3)(除了将有400个ID)现实生活中的问题)。
a<-c("165705763","165705763","165705763","165705763","165705763","161795422","161795351","161795351","161795351")
b<-c("Seine","Seine","Seine","Seine","Seine","Seine","HookAndLine","HookAndLine","HookAndLine")
f<-c("2010-10-25","2010-10-18 ","2010-10-30","2010-11-12","2010-10-29","2010-10-16","2010-10-25","2010-10-16","2010-10-18")
d<-cbind(a,b,f)
欢迎任何其他解决方案!
答案 0 :(得分:1)
Andrie的评论导致了一个简单明了的解决方案。原始数据的ID为“Integer”类。我只是将ID重新标记为字符,而ggplot2自动缩放y轴