這與this question about ggplot changing the order of variable names有關。那裏給出的答案,手動強制重新排序因子水平,並不能解決問題。一個例子是melt(matcor(data.A,data.B)$XYcor)
輸出,該輸出重複兩次的行:解決ggplot排序/變量名稱組合,但不實施固定順序
data.A <- as.data.frame(matrix(runif(c(25)),nrow=5,ncol=5))
data.B <- as.data.frame(matrix(runif(c(25)),nrow=5,ncol=5))
library(ggplot)
library(CCA)
qplot(x=Var1, y=Var2, data=melt(matcor(data.A,data.B)$XYcor), fill=value, geom="tile")
此情節背後的想法是顯示兩個多變量集之間的互相關,如img.matcor
作用:
img.matcor(matcor(data.A,data.B))
在這幅圖中,左上角和右下象限是data.A
和data.B
的自相關矩陣,而其他象限是第e互相關矩陣。將數據重新排序爲ggplot2會破壞這種關係。 (在另一方面,ggplot使得這一下更好的辦法。)
調用melt
與factor.levels=FALSE
不解決這個問題,不幸的是,在第一位置,melt
訂單列正常。有沒有解決方法?
這是很好的瞭解。不幸的是,它破壞了'data.table'這種方便的語法,像'matcor(mydata [Class == 0,mycols,with = FALSE],mydata [Class!= 0,mycols,with = FALSE]' –
我看到你的但我不確定您可以使用相同的列名稱,因爲您可以獲得用於x軸和y軸的相同離散名稱,並且這些數據在同一位置的圖上重疊。 –