我試圖用seq()
來定義我的斷點。下面的虛擬示例。Seq()按分鐘數量生成數字(R)
ggplot(data, aes(x=cat, y=dog) +
scale_y_continuous(breaks=seq(-0.3, 0.3, by=0.1))
出於某種原因,seq()
是給我輸出的數字,通過微量關閉。這種行爲發生在我的繪圖設備內外。如下所示,生成負數似乎是個問題。它可以產生它們,但這就是問題出現的地方。
seq(0.3, 0.9, by=0.1) # test with positives
seq(-0.3, 0.3, by = 0.1) # test with negatives
format(seq(-0.3, 0.3, by = 0.1), scientific = F) # show full number
我閱讀文檔,但沒有找到任何談論底片所以我不知道如何解決它。有什麼我做錯了或排除?是否有解決方法或其他功能我應該使用?
編輯 標記爲重複但重複未明確提供此解決方案。這裏有幾個:
# i went with this solution as given in comments to keep it all contained within seq()
seq(-0.3, 0.3, length.out=7)
# from the answers
seq(-3, 3, by=1)/10
# didn't work for my case but should work as a general rule
round(x, digits=n) # x would be the seq(-0.3, 0.3, by = 0.1) and n=1 in my case)
由於這個問題被標記爲重複我不能提交此作爲一個答案。 來自?seq: '指定 - 從相反的符號開始是錯誤。' 至於解決方法,它似乎很好,如果你做 seq(從= -0.3,到= 0.3,length.out = 7) – jpshanno
@jpshanno 0.3 - (-0.3)= 0.6這與0.1的符號相同。不,這只是常見的浮點數FAQ。 – Roland
@羅蘭德,我不認爲你回答這個問題的問題。這個問題是詢問如何讓seq()在給出預期的輸出時出現相反的符號,而不是爲什麼這些數字不相等。 – jpshanno