Я пытаюсь сделать график похожим на график корреляции. Однако мои данные были в длинном формате, и я хотел показать только нижний треугольник матрицы. Поэтому я взял свои данные и изменил их, используя следующее:
x<-c('A','B','C')
data<-expand.grid(x,x)
data$value<-c(1,2,3,2,1,4,3,4,1)
r.data<-reshape(data, idvar = "Var1", timevar = "Var2", direction = "wide")
colnames(r.data)<-c('Var','A','B','C')
rownames(r.data)<-r.data$Var
r.data$Var<-NULL
Затем я нашел нижнюю часть треугольника моих данных:
get_lower_tri<-function(cormat){
cormat[upper.tri(cormat)] <- NA
return(cormat)
}
r.data_lower<-get_lower_tri(r.data)
Но когда я использую melt()
, у меня теперь только один столбец для переменной и значений, потому что нет идентификатора. Как бы я определил переменную id или исправил бы что-нибудь такое, чтобы оно было в стандартном расплавленном формате?
Ожидаемый:
Var1 Var2 value
A A 1
B A 2
B B 1
C A 3
C B 4
C C 1