我正在 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
我试图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)
我将不胜感激任何帮助。谢谢。
美好的一天
不使用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) 我正在努力寻找一个额外的标签,我想添加到我的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)

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

如果有人知道如何修复我的代码,我将非常感激.
我想用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) 我对 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)
情节如下:
氮
希望有人可以帮我标记带百分比的分组条形图的列.我找不到一个可以成功完成工作的现有帖子.下面是基本示例数据帧的代码.
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中的标签也不太了解,所以不确定如何添加实际的%符号.
希望有人能告诉我实现这一切的基本方法!
在生成绘图时,通常需要在导出时将这些绘图放大。这可以按如下方式完成:
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)
有没有办法扩大情节的所有元素及其整体大小?
我使用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) 我的 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)