温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言的ggplot2做共线性结果可视化

发布时间:2021-07-10 11:38:25 来源:亿速云 阅读:930 作者:chen 栏目:大数据

本篇内容主要讲解“R语言的ggplot2做共线性结果可视化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言的ggplot2做共线性结果可视化”吧!

今天有人问到了下面这幅图应该如何实现,自己还真没有思路

R语言的ggplot2做共线性结果可视化  
image.png

去找了找 ggplot2 做弦图(chord  plot)的资料,没有找到。猜测这个图可能是借助 circlize 包 实现的,比如这个链接里的代码 https://www.r-graph-gallery.com/122-a-circular-plot-with-the-circlize-package.html 最终的效果是

R语言的ggplot2做共线性结果可视化  
image.png

这个图的外面两圈和推文开头的就有点像了。circlize这个R包还得好好学一下

找资料的时候发现了另外一个比较有用的函数,是ggforce 这个包里的 geom_diagonal_wide() 函数 ,感觉如果用来展示共线性分析的结果非常合适,它最终的效果是

R语言的ggplot2做共线性结果可视化  
image.png
 代码
library(ggforce)
data <- data.frame(
  x = c(1, 2, 2, 1, 2, 3, 3, 2),
  y = c(1, 2, 3, 2, 3, 1, 2, 5),
  group = c(1, 1, 1, 1, 2, 2, 2, 2)
)

ggplot(data) +
  geom_diagonal_wide(aes(x, y, group = group),
                     color="red",
                     fill="green",
                     alpha=0.2)+
  theme_bw()+
  theme(panel.grid = element_blank())
 
R语言的ggplot2做共线性结果可视化  
image.png
 画两个矩形当做染色体
df1 <- data.frame(
  x = c(1,156123,156123,1,1,156342,156342,1),
  y = c(5.8,5.8,6,6,1,1,1.2,1.2),
  group = c(rep("Chr01",4),rep("Chr02",4))
)
df1

ggplot() +
  geom_diagonal_wide(data=df1,
                     aes(x, y, group = group,fill=group),
                     alpha=0.5,color="black")+
  theme_bw()+
  theme(panel.grid = element_blank())
 
R语言的ggplot2做共线性结果可视化  
image.png
 如果有一个共线性区域的话
df1 <- data.frame(
  x = c(1,156123,156123,1,1,156342,156342,1),
  y = c(5.8,5.8,6,6,1,1,1.2,1.2),
  group = c(rep("Chr01",4),rep("Chr02",4))
)
df1

df2 <- data.frame(
  x = c(1000,11000,5000,90000),
  y = c(5.8,5.8,1.2,1.2),
  group = "A"
)
ggplot() +
  geom_diagonal_wide(data=df1,
                     aes(x, y, group = group,fill=group),
                     alpha=0.5,color="black")+
  geom_diagonal_wide(data=df2,
                     aes(x, y, group = group),
                     alpha=0.2,color="black",
                     fill="blue")+
  theme_minimal()+
  theme(panel.grid = element_blank(),
        axis.title = element_blank(),
        axis.text = element_blank())
 
R语言的ggplot2做共线性结果可视化  
image.png


到此,相信大家对“R语言的ggplot2做共线性结果可视化”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI