নিখোঁজ এন্ট্রিগুলির সাথে পারস্পরিক সম্পর্কের একটি ম্যাট্রিক্স কীভাবে প্রদর্শন করবেন?


10

ভেরিয়েবলের মধ্যে সম্পর্কগুলি সহজেই অন্বেষণ করতে আমি এতক্ষণ নিবন্ধগুলিতে পারস্পরিক সম্পর্কের গ্রাফিক উপস্থাপনা পেতে চাই। আমি একটি (অগোছালো) গ্রাফ আঁকতাম তবে এখন আমার কাছে খুব বেশি ডেটা রয়েছে।

মূলত, আমার সাথে একটি টেবিল রয়েছে:

  • [0]: ভেরিয়েবলের নাম 1
  • [1]: পরিবর্তনশীল 2 এর নাম
  • [২]: পারস্পরিক সম্পর্ক

"সামগ্রিক" ম্যাট্রিক্স অসম্পূর্ণ (যেমন, আমার কাছে ভি 1 * ভি 2, ভি 2 * ভি 3 এর পারস্পরিক সম্পর্ক রয়েছে তবে ভি 1 * ভি 3 নয়)।

গ্রাফিকালি এটি উপস্থাপন করার কোন উপায় আছে কি?

উত্তর:


12

@ গাবার্গুলিয়ার প্রতিক্রিয়া অনুসারে আমি ওঠানামা বা স্তরের প্লট (ওরফ হিটম্যাপ ডিসপ্লে) চেষ্টা করার পরামর্শ দেব।

উদাহরণস্বরূপ, ggplot2 ব্যবহার করে :

library(ggplot2, quietly=TRUE)
k <- 100
rvals <- sample(seq(-1,1,by=.001), k, replace=TRUE)
rvals[sample(1:k, 10)] <- NA
cc <- matrix(rvals, nr=10)
ggfluctuation(as.table(cc)) + opts(legend.position="none") + 
  labs(x="", y="")

(এখানে, অনুপস্থিত এন্ট্রিটি ধূসর বর্ণে প্রদর্শিত হয়, তবে ডিফল্ট রঙের স্কিম পরিবর্তন করা যায় এবং আপনি কিংবদন্তিতে "এনএ "ও রাখতে পারেন))

এখানে চিত্র বর্ণনা লিখুন

অথবা

ggfluctuation(as.table(cc), type="color") + labs(x="", y="") +
  scale_fill_gradient(low = "red",  high = "blue")

(এখানে, অনুপস্থিত মানগুলি কেবল প্রদর্শিত হয় না However তবে, আপনি একটি যুক্ত করতে পারেন geom_text()এবং খালি ঘরে "এনএ" এর মতো কিছু প্রদর্শন করতে পারেন))

এখানে চিত্র বর্ণনা লিখুন


2
+1 এর জন্য ggfluctuation, এটি আগে দেখেনি! এই ধরণের খাবারের কল্পনা করার জন্য এই পোস্টে অন্যান্য দরকারী কোড রয়েছে: স্ট্যাকওভারফ্লো
চেজ

@ চেস (+1) থক্স। বিটিডাব্লু, মনে হচ্ছে নেতিবাচক পারস্পরিক সম্পর্কের মানগুলির জন্য আমার রঙিন স্কিম নিয়ে আমার কিছু সমস্যা ছিল।
chl

( hclust(…)$order) [ Stat.ethz.ch/R-manual/R-devel/library/stats/html/hclust.html] দ্বারা সারি এবং কলামগুলিকে পুনরায় সাজিয়ে তোলা দৃশ্য ওভারভিউ করা প্রায়শই সহজ হবে।
গাবাবুর্গিয়া

পছন্দ করুন আমি যখন অনুসন্ধানের ডেটা বিশ্লেষণ করছি তখন আমি এটি ব্যবহার করি এবং ভেরিয়েবলগুলির কোনও নির্দিষ্ট অর্ডার থাকে না (যেমন স্থানিক বা অস্থায়ী ডেটা, বা কাঠামোগত ডেটা যা আপনি দেখতে চান)। mixOmics::cimফাংশন যে জন্য খুব ভাল। সম্পর্কিত সম্পর্কিত সমস্যাটি এখানে আলোচনা করা হয়েছে, stats.stackexchange.com/questions/8370/…
chl

5

আপনার তথ্য মত হতে পারে

  name1 name2 correlation
1    V1    V2         0.2
2    V2    V3         0.4

আপনি নীচের আর কোড সহ আপনার দীর্ঘ টেবিলটিকে প্রশস্ত করে পুনরায় সাজিয়ে নিতে পারেন

d = structure(list(name1 = c("V1", "V2"), name2 = c("V2", "V3"), 
    correlation = c(0.2, 0.4)), .Names = c("name1", "name2", 
    "correlation"), row.names = 1:2, class = "data.frame")
k = d[, c(2, 1, 3)]
names(k) = names(d)
e = rbind(d, k)
x = with(e, reshape(e[order(name2),], v.names="correlation", 
  idvar="name1", timevar="name2", direction="wide"))
x[order(x$name1),]

তুমি পাও

  name1 correlation.V1 correlation.V2 correlation.V3
1    V1             NA            0.2             NA
3    V2            0.2             NA            0.4
4    V3             NA            0.4             NA

এখন আপনি পারস্পরিক সম্পর্ক ম্যাট্রিকেস (কমপক্ষে যেগুলি নিখোঁজ মানগুলির সাথে মানিয়ে নিতে পারে) দেখার জন্য কৌশলগুলি ব্যবহার করতে পারেন।


2
reshapeপ্যাকেজ পাশাপাশি উপযোগী হতে পারে। একবার আপনার হয়ে গেলে e, এর মতো কিছু বিবেচনা করুনlibrary(reshape) cast(melt(e), name1 ~ name2)
চেজ

3

corrplotপ্যাকেজ পারস্পরিক সম্পর্ক ম্যাট্রিক্স visualizing জন্য একটি দরকারী ফাংশন। এটি ইনপুট অবজেক্ট হিসাবে একটি সম্পর্কিত ম্যাট্রিক্স গ্রহণ করে এবং ম্যাট্রিক্স নিজেই প্রদর্শনের জন্য বেশ কয়েকটি বিকল্প রয়েছে। একটি দুর্দান্ত বৈশিষ্ট্য হ'ল এটি হায়ারারিকাল ক্লাস্টারিং বা পিসিএ পদ্ধতি ব্যবহার করে আপনার ভেরিয়েবলগুলি পুনরায় অর্ডার করতে পারে।

উদাহরণস্বরূপ দৃশ্যের জন্য এই থ্রেডে গৃহীত উত্তরটি দেখুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.