আমার কিছু পারস্পরিক সম্পর্কের মান সহ একটি ম্যাট্রিক্স রয়েছে। এখন আমি এমন একটি গ্রাফে প্লট করতে চাই যা দেখতে কম বেশি দেখায়:

আমি কীভাবে এটি অর্জন করতে পারি?
আমার কিছু পারস্পরিক সম্পর্কের মান সহ একটি ম্যাট্রিক্স রয়েছে। এখন আমি এমন একটি গ্রাফে প্লট করতে চাই যা দেখতে কম বেশি দেখায়:

আমি কীভাবে এটি অর্জন করতে পারি?
উত্তর:
দ্রুত, নোংরা এবং বলপার্কে:
library(lattice)
#Build the horizontal and vertical axis information
hor <- c("214", "215", "216", "224", "211", "212", "213", "223", "226", "225")
ver <- paste("DM1-", hor, sep="")
#Build the fake correlation matrix
nrowcol <- length(ver)
cor <- matrix(runif(nrowcol*nrowcol, min=0.4), nrow=nrowcol, ncol=nrowcol, dimnames = list(hor, ver))
for (i in 1:nrowcol) cor[i,i] = 1
#Build the plot
rgb.palette <- colorRampPalette(c("blue", "yellow"), space = "rgb")
levelplot(cor, main="stage 12-14 array correlation matrix", xlab="", ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01))

বরং "কম" দেখতে দেখতে, তবে চেক করার মতো (আরও ভিজ্যুয়াল তথ্য দেওয়ার মতো):
সংশ্লেষন ম্যাট্রিক্স উপবৃত্ত :
সংশ্লেষন ম্যাট্রিক্স চেনাশোনা :

নীচে @Asslias দ্বারা রেফারেন্সযুক্ত করপ্ল্লট ভিগনেটে আরও উদাহরণগুলি আবিষ্কার করুন ।
ellipse:plotcorr।
জালির সাথে খুব সহজ :: লেভেলপ্লট:
z <- cor(mtcars)
require(lattice)
levelplot(z)

Ggplot2 গ্রন্থাগার এটি দিয়ে পরিচালনা করতে পারে geom_tile()। দেখে মনে হচ্ছে উপরের প্লটে কিছু উদ্ধার কাজ হয়েছে কারণ কোনও নেতিবাচক সম্পর্ক নেই, তাই এটিকে আপনার ডেটা দিয়ে বিবেচনা করুন। mtcarsডেটাসেট ব্যবহার :
library(ggplot2)
library(reshape)
z <- cor(mtcars)
z.m <- melt(z)
ggplot(z.m, aes(X1, X2, fill = value)) + geom_tile() +
scale_fill_gradient(low = "blue", high = "yellow")

সম্পাদনা :
ggplot(z.m, aes(X1, X2, fill = value)) + geom_tile() +
scale_fill_gradient2(low = "blue", high = "yellow")

মিডপয়েন্টের রঙ নির্দিষ্ট করতে দেয় এবং এটি ডিফল্ট হোয়াইট তাই এখানে একটি সুন্দর সমন্বয় হতে পারে। অন্যান্য বিকল্পগুলি এখানে এবং এখানে ggplot ওয়েবসাইটে পাওয়া যাবে ।
c(-1, -0.6, -0.3, 0, 0.3, 0.6, 1):) "white"রঙগুলি পারস্পরিক সম্পর্কের প্রতিসাম্যকে প্রতিফলিত করতে দেয়।
scale_fill_gradient2()আপনি স্বয়ংক্রিয়ভাবে বর্ণনা করা কার্যকারিতা অর্জন করেছেন। আমি জানতাম না যে অস্তিত্ব আছে।
p <- ggplot(.....) + ... + ....; library(plotly); ggplotly(p)এটি ইন্টারেক্টিভ করে
X1ব্যবহার করছে:z.m$X1 <- factor(z.m$X1, levels = rev(levels( z.m$X1 )))
কর্প্লোট প্যাকেজটি ব্যবহার করুন:
library(corrplot)
data(mtcars)
M <- cor(mtcars)
## different color series
col1 <- colorRampPalette(c("#7F0000","red","#FF7F00","yellow","white",
"cyan", "#007FFF", "blue","#00007F"))
col2 <- colorRampPalette(c("#67001F", "#B2182B", "#D6604D", "#F4A582", "#FDDBC7",
"#FFFFFF", "#D1E5F0", "#92C5DE", "#4393C3", "#2166AC", "#053061"))
col3 <- colorRampPalette(c("red", "white", "blue"))
col4 <- colorRampPalette(c("#7F0000","red","#FF7F00","yellow","#7FFF7F",
"cyan", "#007FFF", "blue","#00007F"))
wb <- c("white","black")
par(ask = TRUE)
## different color scale and methods to display corr-matrix
corrplot(M, method="number", col="black", addcolorlabel="no")
corrplot(M, method="number")
corrplot(M)
corrplot(M, order ="AOE")
corrplot(M, order ="AOE", addCoef.col="grey")
corrplot(M, order="AOE", col=col1(20), cl.length=21,addCoef.col="grey")
corrplot(M, order="AOE", col=col1(10),addCoef.col="grey")
corrplot(M, order="AOE", col=col2(200))
corrplot(M, order="AOE", col=col2(200),addCoef.col="grey")
corrplot(M, order="AOE", col=col2(20), cl.length=21,addCoef.col="grey")
corrplot(M, order="AOE", col=col2(10),addCoef.col="grey")
corrplot(M, order="AOE", col=col3(100))
corrplot(M, order="AOE", col=col3(10))
corrplot(M, method="color", col=col1(20), cl.length=21,order = "AOE", addCoef.col="grey")
if(TRUE){
corrplot(M, method="square", col=col2(200),order = "AOE")
corrplot(M, method="ellipse", col=col1(200),order = "AOE")
corrplot(M, method="shade", col=col3(20),order = "AOE")
corrplot(M, method="pie", order = "AOE")
## col=wb
corrplot(M, col = wb, order="AOE", outline=TRUE, addcolorlabel="no")
## like Chinese wiqi, suit for either on screen or white-black print.
corrplot(M, col = wb, bg="gold2", order="AOE", addcolorlabel="no")
}
উদাহরণ স্বরূপ:

বরং মার্জিত আইএমও
এই ধরণের গ্রাফকে অন্যান্য শর্তগুলির মধ্যে একটি "তাপের মানচিত্র" বলা হয়। আপনি একবার আপনার সম্পর্কের ম্যাট্রিক্স পেয়ে গেলে বিভিন্ন টিউটোরিয়াল ব্যবহার করে এটির পরিকল্পনা করুন।
বেস গ্রাফিক্স ব্যবহার: http://flowingdata.com/2010/01/21/how-to-make-a-heatmap-a-quick-and-easy-solution/
Ggplot2 ব্যবহার করে: http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/
আমি প্যাকেজটির plotcorr()কার্যকারিতাটি ব্যবহার করে @ উড়িকের দ্বারা পোস্ট করা কোড সহ @ দাদারোকজিগ পোস্ট করা ভিজ্যুয়ালাইজেশনের অনুরূপ কিছু নিয়ে কাজ করছি ellipse। আমি পারস্পরিক সম্পর্ককে উপস্থাপন করতে উপবৃত্তাকার ব্যবহার এবং নেতিবাচক এবং ধনাত্মক পারস্পরিক সম্পর্ককে উপস্থাপন করার জন্য রঙের ব্যবহার পছন্দ করি। তবে, আমি চেয়েছিলাম যে আকর্ষণীয় রংগুলি 1 এবং -1 এর কাছাকাছি পারস্পরিক সম্পর্কের জন্য দাঁড়ায়, 0-এর কাছের লোকদের জন্য নয়।
আমি একটি বিকল্প তৈরি করেছি যাতে রঙিন বৃত্তগুলিতে সাদা উপবৃত্তগুলি আবৃত থাকে। প্রতিটি সাদা উপবৃত্তাকে আকার দেওয়া হয় যাতে এর পিছনে দৃশ্যমান রঙিন বৃত্তের অনুপাত স্কোয়ার পারস্পরিক সম্পর্কের সমান হয়। যখন পারস্পরিক সম্পর্ক 1 এবং -1 এর কাছাকাছি হয়, তখন সাদা উপবৃত্তটি ছোট হয় এবং রঙিন বৃত্তের বেশিরভাগ অংশ দৃশ্যমান হয়। যখন পারস্পরিক সম্পর্ক 0 এর কাছাকাছি হয়, তখন সাদা উপবৃত্ত বড় হয় এবং রঙিন বৃত্তের কিছুটা দৃশ্যমান হয়।
ফাংশনটি, https://github.com/JVAdams/jvamisc/blob/master/R/plotcor.rplotcor() এ উপলব্ধ ।
mtcarsডেটাसेट ব্যবহার করে ফলাফলের প্লটের উদাহরণ নীচে দেখানো হয়েছে।
library(plotrix)
library(seriation)
library(MASS)
plotcor(cor(mtcars), mar=c(0.1, 4, 4, 0.1))

আমি বুঝতে পারি যে এটি কিছুক্ষণ হয়ে গেছে, তবে নতুন পাঠকরা প্যাকেজটি rplot()থেকে আগ্রহী হতে পারেন corrr( https://cran.rstudio.com/web/packages/corrr/index.html ), যা @aroczig উল্লেখ করে বিভিন্ন ধরণের প্লট তৈরি করতে পারে , তবে ডেটা পাইপলাইন পদ্ধতির জন্য নকশা করুন:
install.packages("corrr")
library(corrr)
mtcars %>% correlate() %>% rplot()
mtcars %>% correlate() %>% rearrange() %>% rplot()
mtcars %>% correlate() %>% rearrange() %>% rplot(shape = 15)
mtcars %>% correlate() %>% rearrange() %>% shave() %>% rplot(shape = 15)
mtcars %>% correlate() %>% rearrange(absolute = FALSE) %>% rplot(shape = 15)
Corrplot () থেকে ফাংশন corrplot আর প্যাকেজ একটি correlogram চক্রান্ত ব্যবহার করা যাবে।
library(corrplot)
M<-cor(mtcars) # compute correlation matrix
corrplot(M, method="circle")
পারস্পরিক সম্পর্ক মেট্রিক্সের গণনা এবং ভিজ্যুয়ালাইজ করার জন্য বর্ণনা করা বেশ কয়েকটি নিবন্ধ এখানে প্রকাশিত হয়েছে:
আমি সম্প্রতি যে আরও সমাধানটি শিখেছি তা হ'ল কিউটিচার্টস প্যাকেজটি দিয়ে তৈরি একটি ইন্টারেক্টিভ হিটম্যাপ ।
install.packages("qtlcharts")
library(qtlcharts)
iplotCorr(mat=mtcars, group=mtcars$cyl, reorder=TRUE)
নীচে ফলাফলের চক্রান্তের একটি স্থির চিত্র রয়েছে image

আপনি আমার ব্লগে ইন্টারেক্টিভ সংস্করণ দেখতে পারেন । সারি, কলাম এবং কক্ষের মানগুলি দেখতে হিটম্যাপের উপরে ঘুরে দেখুন। দল অনুসারে বর্ণযুক্ত চিহ্ন সহ একটি স্ক্র্যাটারপ্লট দেখতে একটি ঘরে ক্লিক করুন (উদাহরণস্বরূপ, সিলিন্ডারের সংখ্যা, 4 টি লাল, 6 সবুজ এবং 8 নীল)। স্ক্যাটারপ্লোতে পয়েন্টগুলির উপরে ঘোরাফেরা সারিটির নাম দেয় (এই ক্ষেত্রে গাড়ীটি তৈরি করা)।
যেহেতু আমি কোনও মন্তব্য করতে পারছি না, তাই আমার 2c উত্তরটি দারোকজিগ দ্বারা উত্তর হিসাবে দিতে হবে ...
উপবৃত্তাকার স্ক্যাটার প্লটটি প্রকৃতপক্ষে উপবৃত্ত প্যাকেজ থেকে এসেছে এবং এর সাথে উত্পন্ন হয়েছে:
corr.mtcars <- cor(mtcars)
ord <- order(corr.mtcars[1,])
xc <- corr.mtcars[ord, ord]
colors <- c("#A50F15","#DE2D26","#FB6A4A","#FCAE91","#FEE5D9","white",
"#EFF3FF","#BDD7E7","#6BAED6","#3182BD","#08519C")
plotcorr(xc, col=colors[5*xc + 6])
(ম্যান পেজ থেকে)
Corpplot প্যাকেজ এছাড়াও হিসাবে প্রস্তাবিত - এখানে পাওয়া সুন্দর চিত্রের জন্য দরকারী হতে পারে