這可能很簡單,但我無法解決。在R中X軸的數值不被接受爲負值:ggplot
我加載數據集看起來像這樣,但它從-50一直到1500運行:
Name ExpA ExpB -50 -49 -48 -47 -46 -45 -44
sampleA Light Low 12.326 12.326 12.328 36.979 36.979 24.566 24.652
SampleB Light High 0.0 9.333 9.3233 37.302 46.628 18.651 18.651
SampleC Dark Low 0.0 0.0 0.0 13.575 40.725 27.150 0.0
我對數據進行熔體:
x.melt <-melt(x, id=c("Name","ExpA", "ExpB"))
x.melt
Name ExpA ExpB variable value
1 SampleA Light Low -50 12.326402
2 SampleB Light High -50 0.000000
3 SampleC Dark Low -50 14.242440
4 SampleD Dark High -50 0.000000
9 SampleA Light Low -49 12.326402
10 SampleB Light High -49 9.325700
11 SampleC Dark Low -49 0.000000
12 SampleD Dark High -49 8.792096
...etc...
,我想繪製數據。這在x軸以外的各個方面都可以正常工作。如果我在x軸調用中不包含'as.numeric()',那麼它確定我的軸是一個離散變量。我的基本代碼是:
p <- ggplot(data=x.melt, aes(x=as.numeric(variable), y=value, colour=ExpA))
p +
stat_smooth(method="loess", span=0.05, se=TRUE)
正如你可以看到,從零開始x軸而不是-50。
有沒有辦法正確解釋軸調用的變量列?
可以使用您發佈的初步數據集'dput(mydataset)' – Chris
如果你嘗試'X =會發生什麼as.numeric(as.character(變量))'?爲了擴大我的意思,比較'as.numeric(factor(c(4,2,3,-1)))'和'as.numeric(as.character(factor(c(4,2,3, - 1))))'。 – blakeoft
這工作。我不確定它爲什麼有效,但它工作。如果你把它作爲答案,我會接受它!你的例子向我展示了它爲什麼會以不同的方式來解釋我所期望的,但我仍然不明白爲什麼會發生這種情況 – Daniel