Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在R中绘制data.frame?_R_Ggplot2_Plot - Fatal编程技术网

有没有办法在R中绘制data.frame?

有没有办法在R中绘制data.frame?,r,ggplot2,plot,R,Ggplot2,Plot,我有一个data.frame,有302行14列。data.frame的内容是来自14个先前回归分析的系数,我正在寻找一种方法来绘制整个data.frame,以便以红色和蓝色阴影突出显示系数(分别为负数和正数,0应为白色) 图中不应显示行和列的名称以及实际系数,但我希望能够在某些列和行中添加较粗的线条。设置data.frame,以便理论上对行和列进行分组,因此在这些分组周围添加行将有助于为其加下划线 我已经试过corrplot和ggplot了。corrplot(df,is.corr=FALSE)给

我有一个data.frame,有302行14列。data.frame的内容是来自14个先前回归分析的系数,我正在寻找一种方法来绘制整个data.frame,以便以红色和蓝色阴影突出显示系数(分别为负数和正数,0应为白色)

图中不应显示行和列的名称以及实际系数,但我希望能够在某些列和行中添加较粗的线条。设置data.frame,以便理论上对行和列进行分组,因此在这些分组周围添加行将有助于为其加下划线

我已经试过corrplot和ggplot了。corrplot(df,is.corr=FALSE)给了我一些与我想要的内容相关的东西,但是这个图太长了(因为有302行)。如果可能,它们(行)应自动调整其高度,以便整个绘图可见。我的主要目标是从视觉上检查可能的颜色模式

下面是我的数据片段

                          ingen0 kommune3 kommune8 kommune9 diagnose1 diagnose2 diagnose7 diagnose12 diagose13  psyk5  psyk9 psyk10  krim4  krim6
abdominalomfang            0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.002
adoption1                  0.000    0.000    0.274    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.000
adoptions_anbr1            0.000    0.965    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.585
afsonforfods_mor1          0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000 -0.017
afsonforfodsfarr1          0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.183
agteskab_laengde_far       0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000    -0.001  0.000  0.000  0.000  0.000 -0.008
agteskab_laengde_mor       0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000 -0.002
akutkejsfoed1              0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000 -0.127  0.000  0.000  0.000  0.000
alder_far                 -0.003    0.000    0.009    0.000     0.001     0.000     0.000      0.000     0.000  0.000  0.000  0.002  0.000 -0.001
alder_mor                  0.000    0.000    0.004    0.000     0.000    -0.025     0.000      0.000     0.000  0.004  0.000  0.000 -0.007 -0.012
alm_lage_sysi_far         -0.008    0.000    0.005    0.000     0.001     0.004     0.002      0.006     0.000  0.000  0.467  0.003  0.000  0.003
alm_lage_sysi_mor         -0.007    0.000    0.009    0.003     0.000     0.006     0.003      0.006    -0.002  0.006  0.003  0.005  0.000  0.002
anbringelse1              -2.009    0.005   -1.696   -0.092     0.260     0.217     0.000      0.000     0.000  0.213 -0.092 -0.175 -0.392  0.169
anholdtforfods_far1        0.000    0.000    0.000    0.000     0.000     0.107     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.131
anholdtforfods_mor1        0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000 -0.214
antaldiag_far             -0.006    0.000    0.019    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.051
antaldiag_mor              0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.000
antdage_t_far              0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.000
antdage_t_mor              0.000    0.000    0.000    0.000     0.000     0.000     0.000      0.000     0.000  0.000  0.000  0.000  0.000  0.001
apgarscore_efter5minutter  0.047   -0.091   -0.044    0.000     0.000    -0.027     0.000     -0.010     0.009  0.000  0.000  0.000  0.000  0.005
以下内容可用于复制corrplot。我还没有想尽办法在这个情节中创造出任何成功的东西

A <- structure(list(ingen0 = c(0, 0, 0, 0, 0, 0, 0, 0, -0.003, 0, 
-0.008, -0.007, -2.009, 0, 0, -0.006, 0, 0, 0, 0.047), kommune3 = c(0, 
0, 0.965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.005, 0, 0, 0, 0, 0, 0, 
-0.091), kommune8 = c(0, 0.274, 0, 0, 0, 0, 0, 0, 0.009, 0.004, 
0.005, 0.009, -1.696, 0, 0, 0.019, 0, 0, 0, -0.044), kommune9 = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.003, -0.092, 0, 0, 0, 0, 0, 0, 
0), diagnose1 = c(0, 0, 0, 0, 0, 0, 0, 0, 0.001, 0, 0.001, 0, 
0.26, 0, 0, 0, 0, 0, 0, 0), diagnose2 = c(0, 0, 0, 0, 0, 0, 0, 
0, 0, -0.025, 0.004, 0.006, 0.217, 0.107, 0, 0, 0, 0, 0, -0.027
), diagnose7 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.002, 0.003, 
0, 0, 0, 0, 0, 0, 0, 0), diagnose12 = c(0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0.006, 0.006, 0, 0, 0, 0, 0, 0, 0, -0.01), diagose13 = c(0, 
0, 0, 0, 0, -0.001, 0, 0, 0, 0, 0, -0.002, 0, 0, 0, 0, 0, 0, 
0, 0.009), psyk5 = c(0, 0, 0, 0, 0, 0, 0, -0.127, 0, 0.004, 0, 
0.006, 0.213, 0, 0, 0, 0, 0, 0, 0), psyk9 = c(0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0.467, 0.003, -0.092, 0, 0, 0, 0, 0, 0, 0), psyk10 = c(0, 
0, 0, 0, 0, 0, 0, 0, 0.002, 0, 0.003, 0.005, -0.175, 0, 0, 0, 
0, 0, 0, 0), krim4 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, -0.007, 0, 
0, -0.392, 0, 0, 0, 0, 0, 0, 0), krim6 = c(0.002, 0, 0.585, -0.017, 
0.183, -0.008, -0.002, 0, -0.001, -0.012, 0.003, 0.002, 0.169, 
0.131, -0.214, 0.051, 0, 0, 0.001, 0.005)), row.names = c("abdominalomfang", 
"adoption1", "adoptions_anbr1", "afsonforfods_mor1", "afsonforfodsfarr1", 
"agteskab_laengde_far", "agteskab_laengde_mor", "akutkejsfoed1", 
"alder_far", "alder_mor", "alm_lage_sysi_far", "alm_lage_sysi_mor", 
"anbringelse1", "anholdtforfods_far1", "anholdtforfods_mor1", 
"antaldiag_far", "antaldiag_mor", "antdage_t_far", "antdage_t_mor", 
"apgarscore_efter5minutter"), class = "data.frame")

library(corrplot)
corrplot(A, is.corr = FALSE)

A302类别需要显示很多,特别是如果您想查看类别。(我们通常需要约10页来显示这么多行文本。)

一种方法是制作一个交互式绘图,您可以在其中悬停以查看类别:

首先,一些虚假数据:

library(tidyverse)
df <- data.frame(
  category = rep(colors(), each = 14),
  col = letters[1:14],
  cor = rnorm(9198)
)
左侧的类别严重过量,看起来很垃圾(可能值得添加
主题(axis.text.y=element\u blank())
),但您仍然可以通过plotly进行交互式探索


302要显示的类别很多,特别是如果您想查看类别的话。(我们通常需要约10页来显示这么多行文本。)

一种方法是制作一个交互式绘图,您可以在其中悬停以查看类别:

首先,一些虚假数据:

library(tidyverse)
df <- data.frame(
  category = rep(colors(), each = 14),
  col = letters[1:14],
  cor = rnorm(9198)
)
左侧的类别严重过量,看起来很垃圾(可能值得添加
主题(axis.text.y=element\u blank())
),但您仍然可以通过plotly进行交互式探索


请制作一个可复制的示例。谢谢你的快速回复,@bbiasi。我还补充了一些信息。现在好点了吗?是的,你已经回答了。请做一个重复的例子。谢谢你的快速回复,@bbiasi。我还补充了一些信息。现在好些了吗?是的,你已经回答了。谢谢你,乔恩。这似乎很有希望!在这方面,“类别”标签是不必要的,可以省略。你也可以从
forcats
库中使用类似于
fct\u重新排序(category,cor,mean)
的东西,在
col
列中使用同样的标签,以便在一个角落获得更多的蓝色,在另一个角落获得更多的红色。谢谢你,乔恩。这似乎很有希望!在这方面,“类别”标签是不必要的,可以省略。您还可以从
forcats
库中使用类似于
fct\u重新排序(category,cor,mean)
的内容,在
col
列中使用相同的内容,以便在一个角落获得更多蓝色,在另一个角落获得更多红色。