আর-তে কীভাবে একটি ফ্যান (পোলার) ডেনড্রোগ্রাম প্লট করবেন?


9

আমি এই জাতীয় কিছু উল্লেখ করছি:

বিকল্প পাঠ

একটি সমাধান দেখানোর জন্য প্রস্তাবিত ডেটাসেট:

data(mtcars)
plot(hclust(dist(mtcars)))

1
পোলার উপস্থাপনার সুবিধা কী (স্থান সাশ্রয় বাদে)? এটি দেখতে দেখতে চতুর মতো বলে মনে হচ্ছে।
নিকো

1
@nico এটি আরও দুর্দান্ত (-;

1
এছাড়া আপনি যদি এক স্টেম হবে না যখন ...
তাল Galili

3
@mbq: যদি আপনি "ভালো" শ্লেষ সেখানে মিস ... আপনি বলেছেন হতে পারে "এটা আরো ফ্যান :)"
নিকো

উত্তর:


10

ফাইলোজেনেটিক্সে, এটি একটি ফ্যান ফিলোগ্রাম, তাই আপনি এটিকে রূপান্তর করতে phyloএবং ব্যবহার করতে পারেন ape:

library(ape)
library(cluster) 
data(mtcars)
plot(as.phylo(hclust(dist(mtcars))),type="fan")

ফলাফল:
বিকল্প পাঠ


(+1) আমি এটির সন্ধান করেছি, কিন্তু apeপ্যাকেজে এটি খুঁজে পাইনি !
chl

বিঙ্গো। এটাই আমি খুঁজছিলাম। আমি ভাবছি ggplot2 তেও তেমন কিছু আছে কিনা ...
তাল গ্যালিলি

@ টাল ggplot2- তে গাছের কাঠামোর জন্য কোনও অফিসিয়াল সমর্থন নেই। এই গুগল গ্রুপ থ্রেডটি দেখুন, j.mp/c85l5l (তবে এটি অবশ্যই বিজ্ঞপ্তি নয়)।
chl

হ্যালো Chl, লিঙ্কটির জন্য আপনাকে ধন্যবাদ। আমি এই
কোডটির

5

আপনি কি এই পোস্টটি দেখেছেন? http://groups.google.com/group/ggplot2/browse_thread/thread/8e1efd0e7793c1bb

উদাহরণটি ধরুন, কর্ড_পোলার যুক্ত করুন () এবং অক্ষগুলি বিপরীত করুন এবং আপনি খুব কাছাকাছি পাবেন:

library(cluster) 
data(mtcars)
x <- as.phylo(hclust(dist(mtcars)))

p <- ggplot(data=x)
p <- p + geom_segment(aes(y=x,x=y,yend=xend,xend=yend), colour="blue",alpha=1) 
p <- p + geom_text(data=label.phylo(x), aes(x=y, y=x, label=label),family=3, size=3) + xlim(0, xlim) + coord_polar()

theme <- theme_update(  axis.text.x = theme_blank(),
                        axis.ticks = theme_blank(),
                        axis.title.x = theme_blank(),
                        axis.title.y = theme_blank(),
                        legend.position = "none"
                     )
p <- p + theme_set(theme)
print(p)

1
p <- ggplot(data=x)আমি এই ত্রুটি পাবেন: ggplot2 doesn't know how to deal with data of class phylo। আমি কী মিস করছি?
গাবার্গুলিয়া

1

চার বছর পরে, আমি এখন এই প্রশ্নের উত্তর দিতে সক্ষম হয়েছি। এটি দুটি নতুন প্যাকেজ একত্রিত করে করা যেতে পারে: সার্কেলাইজ এবং ডেন্ডেক্স্যান্ডেন্ড

প্লটটি circlize_dendrogramফাংশনটি ব্যবহার করে তৈরি করা যেতে পারে (প্লট.ফাইলো ফাংশনের "ফ্যান" লেআউটের উপর আরও বেশি পরিশোধিত নিয়ন্ত্রণের অনুমতি দেওয়া)।

# install.packages("dendextend")
# install.packages("circlize")
library(dendextend)
library(circlize)

# create a dendrogram
hc <- hclust(dist(datasets::mtcars))
dend <- as.dendrogram(hc)

# modify the dendrogram to have some colors in the branches and labels
dend <- dend %>% 
   color_branches(k=4) %>% 
   color_labels

# plot the radial plot
par(mar = rep(0,4))
# circlize_dendrogram(dend, dend_track_height = 0.8) 
circlize_dendrogram(dend, labels_track_height = NA, dend_track_height = .4) 

এবং ফলাফল:

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

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