小编eip*_*i10的帖子

R 中绘图/热图的颜色

我正在 R 中创建许多热图,但在保持图表之间的色标一致时遇到问题。

我发现图表中的颜色是按比例缩放的,有没有办法使图表之间的颜色保持一致?IE。那么 0.4 和 0.5 之间的色差总是相同的吗?

代码示例:

set.seed(123)

d1 = matrix(rnorm(9, mean = 0.2, sd = 0.1), ncol = 3)
d2 = matrix(rnorm(9, mean = 0.8, sd = 0.1), ncol = 3)

mat = list(d1, d2)

for(m in mat)
  heatmap(m, Rowv = NA ,Colv = NA)
Run Code Online (Sandbox Code Playgroud)

您会在示例中注意到,第一个图形的单元格 (2,3) 与第二个图形中的单元格 (1,3) 相似,尽管相差约 0.8

plot r colors heatmap

2
推荐指数
1
解决办法
1296
查看次数

R:如何从cor.test函数中提取置信区间

我试图95 percent confidence interval从皮尔逊相关性的结果中提取出来。

我的输出如下所示:

Pearson's product-moment correlation

data:  newX[, i] and newY
t = 2.1253, df = 6810, p-value = 0.0336
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.001998576 0.049462864
sample estimates:
       cor 
0.02574523 
Run Code Online (Sandbox Code Playgroud)

我用以下代码得到它

t <- apply(FNR[, -1], 2, cor.test, FNR$HDL, method="pearson")
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助。谢谢。

r confidence-interval correlation

2
推荐指数
1
解决办法
3530
查看次数

绘图翻转R中的正态分布而不使用coord_flip()

美好的一天

不使用coord_flip(),有没有办法通过在aes()中交换位置x和y来绘制正态分布?我试过如下.

df3 <- data.frame(x=seq(-6,6,b=0.1),y=sapply(seq(-6,6,b=0.1),function(x) dnorm(x))) 
ggplot(df3,aes(y,x))+ geom_line()  # x,y position exchanged
Run Code Online (Sandbox Code Playgroud)

r flip ggplot2

2
推荐指数
1
解决办法
145
查看次数

在ggplot图中有两个标签的Geom_text

我正在努力寻找一个额外的标签,我想添加到我的ggplot图表中.

这是我的数据集:

Group                   Gaze direction  Counts   Duration
Expert Performers       game table      148      1262.122
Expert Performers       objects table   40       139.466
Expert Performers       other           94       371.191
Expert Performers       co-participant  166      387.228
Non-Performers          game table      223      1137.517
Non-Performers          objects table   111      369.26
Non-Performers          other           86       86.794
Non-Performers          co-participant  312      566.438
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码:

ggplot(b, aes(x=Group, y=Gaze.direction))+
  geom_count(mapping=aes(color=Counts, size=Duration))+
  theme_bw()+
  theme(panel.grid.major = element_line(colour = "grey"))+scale_size(range = c(0, 8))+
  scale_colour_gradient(low = "black", high = "gray91")+
  scale_y_discrete(name ="Gaze direction") + 
  geom_text(aes(label=Counts,hjust=-1, vjust=-1))
Run Code Online (Sandbox Code Playgroud)

目前情节:

所需的图表应包含所有数据点的计数数量(它已经存在)以及括号中的持续时间(图中标记为红色).

期望的情节:

如果有人知道如何修复我的代码,我将非常感激.

label r point ggplot2 geom-text

2
推荐指数
1
解决办法
4275
查看次数

R中类似的seaborn情节

我想用R测试seaborn中的所有情节我想在R中绘制类似的seaborn情节,但是我无法在R seaborn图中完成相似的 图形

我更新的R代码是

x = seq(from = 0,to = 14,length.out = 100)
for(i in seq(1,6)){
    print(sin(x + i * .5)*(7 - i))
    plot(x,sin(x + i * .5)*(7 - i))
}
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2

2
推荐指数
1
解决办法
1585
查看次数

如何更改 visreg 中交互图的颜色和线型

我对 R 比较陌生,我正在使用 visreg 包来绘制交互。我不知道如何获取输出图,它默认在 x2 的第 10、50 和 90 分位数处绘制 x1 与 y 的关系,并将颜色更改为灰度,将三条线更改为三条不同的线类型(点线、实线、双线等)

这是我的代码:

    interaction <- lm(Y ~ X1 * X2, data=df)

    visreg(interaction,"X1", by="X2", 
    overlay = TRUE, partial = FALSE, rug = FALSE) 
Run Code Online (Sandbox Code Playgroud)

情节如下:

在此输入图像描述
感谢您的帮助。

plot visualization regression r

2
推荐指数
1
解决办法
7094
查看次数

将百分比添加到GGplot2中的分组条形图列

希望有人可以帮我标记带百分比的分组条形图的列.我找不到一个可以成功完成工作的现有帖子.下面是基本示例数据帧的代码.

Service<-c("AS","AS","PS","PS","RS","RS","ES","ES")

Year<-c("2015","2016","2015","2016","2015","2016","2015","2016")

Q1<-c("Dissatisfied","Satisfied","Satisfied","Satisfied","Dissatisfied","Dissatisfied","Satisfied","Satisfied")

Q2<-c("Dissatisfied","Dissatisfied","Satisfied","Dissatisfied","Dissatisfied","Satisfied","Satisfied","Satisfied")

Example<-data.frame(Service,Year,Q1,Q2)
Run Code Online (Sandbox Code Playgroud)

接下来,我用Reshape2将其熔化,以便我可以沿x轴绘制Q1和Q2列变量.然后我创建了一个带有ggplot2的基本分组条形图,其中y轴为计数,然后是年份.

ExampleM<-melt(Example,id.vars=c("Service","Year"))

ggplot(ExampleM,aes(x=variable,stat="identity",fill=value)) + 
  geom_bar(position="dodge") + facet_grid(~Year)
Run Code Online (Sandbox Code Playgroud)

我正在努力的是如何添加列标签.具体来说,我想知道如何添加基本频率计数以及百分比.不是一起,而是一个或另一个.我不能做任何工作.我尝试过使用"+ geom_text(aes(labels ="但我不知道该放什么标签,因为我在ggplot代码中使用了stat ="identity").

另外,对于百分比,我是否需要先用dplyr计算它,还是可以计算ggplot代码中的百分比?我对R中的标签也不太了解,所以不确定如何添加实际的%符号.

希望有人能告诉我实现这一切的基本方法!

r ggplot2 reshape2 dplyr

1
推荐指数
1
解决办法
4178
查看次数

ggplot:放大文本标签和放大绘图大小时

在生成绘图时,通常需要在导出时将这些绘图放大。这可以按如下方式完成:

png(filename = "plot_name.png", width=1000, height = 800)
print(plot)
dev.off()
Run Code Online (Sandbox Code Playgroud)

不幸的是,情节的元素没有随着它的整体大小而放大。这意味着我最终向 theme() 添加了一堆元素,如下所示。

theme(
  legend.position = "bottom",
  legend.title = element_text(size=20),
  plot.title = element_text(size = 30),
  axis.title = element_text(size=20),
  axis.text = element_text(size=15),
  legend.text = element_text(size=15)
 )
Run Code Online (Sandbox Code Playgroud)

有没有办法扩大情节的所有元素及其整体大小?

plot png r ggplot2

1
推荐指数
1
解决办法
1515
查看次数

是否有可能从R中的混淆矩阵中检索假阳性和假阴性?

我使用R生成了一个混淆矩阵,如下所示.

是否可以从该矩阵中检索出假负值61并分配给R中的变量?$ byClass似乎不适合这种情况.谢谢.

Confusion Matrix and Statistics

              Reference
    Prediction   no  yes
           no  9889   61
           yes    6   44

               Accuracy : 0.9933          
                 95% CI : (0.9915, 0.9948)
    No Information Rate : 0.9895          
    P-Value [Acc > NIR] : 4.444e-05       

                  Kappa : 0.5648          
 Mcnemar's Test P-Value : 4.191e-11       

            Sensitivity : 0.9994          
            Specificity : 0.4190          
         Pos Pred Value : 0.9939          
         Neg Pred Value : 0.8800          
             Prevalence : 0.9895          
         Detection Rate : 0.9889          
   Detection Prevalence : 0.9950          
      Balanced Accuracy : 0.7092          

       'Positive' Class : no     
Run Code Online (Sandbox Code Playgroud)

r confusion-matrix r-caret

1
推荐指数
1
解决办法
1787
查看次数

ggplot2:将 stat_smooth 回归线扩展到绘图区域的整个 x 范围

我的 ggplot 中有两条独立的回归线,每条线对应一个单独的变量。但是,对应于 的第二条线local没有延伸到整个图形。是否有解决方法或一种方法可以使两个 ablines 在图形区域上均等地延伸?

ggplot(metrics, aes(x=popDensity, y= TPB, color = factor(type))) + geom_point() +theme_minimal() + stat_smooth(method = "lm", se = FALSE) +
  geom_label_repel(aes(label= rownames(metrics)), size=3, show.legend = FALSE) +
  theme(axis.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=12)) +
  labs(x = expression(paste( "Populatin Density ", km^{2})), y = expression(paste("Rating")))+
  theme(legend.position="top", legend.direction="horizontal") + theme(legend.title=element_blank()) 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

以下是数据示例:

> dput(metrics)
structure(list(popDensity = c(4308, 27812, 4447, 5334, 4662, 
2890, 1689, 481, 4100), TPB = c(2.65, 4.49, 2.37, 2.87, 3.87, 
2.95, 1.18, …
Run Code Online (Sandbox Code Playgroud)

regression r ggplot2

1
推荐指数
1
解决办法
3987
查看次数