小编Chr*_*emp的帖子

如何使用ggplot2在同一图表上叠加多个stat_contour图?

是否可以使用来自不同数据帧的数据覆盖ggplot2中的多个stat_contour图?

我已经阅读了覆盖不同geoms的解决方案,但为此我特别想使用stat_contour.

两个数据集的X和Y变量相同.一些样本数据可用于:

# some sample data
require(ggplot2)
require(reshape2)

v1 <- melt(volcano)
v2 <- v1
v2$value <- v2$value*1.5
Run Code Online (Sandbox Code Playgroud)

所以单独绘制每个人的作品:

ggplot(v1, aes(x = Var1, y = Var2, z = value)) +
+   stat_contour(aes(color = ..level..)) + scale_colour_gradient(low = "white", high="#ff6666")

ggplot(v2, aes(x = Var1, y = Var2, z = value)) +
+   stat_contour(aes(color = ..level..)) + scale_colour_gradient(low = "white", high="#A1CD3A")
Run Code Online (Sandbox Code Playgroud)

有没有办法在同一图表上叠加这些密度图?

我已经尝试创建一个因子变量并为每个集合分配不同的值,然后将它们堆叠起来,但是我得到一个错误,因为它们对于每个X和Y都有多个值(此处为Var 1和Var2).

感谢您的帮助!

r ggplot2

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

优雅的方法来计算矩阵的每列中的元素数量是否大于其他列中的元素数量?

我目前有一个有效的解决方案.我想知道是否有更优雅的方法?

首先是设置:

set.seed(315)
mat <- matrix(sample(1:5, 20, replace = TRUE), nrow = 4, ncol = 5)
> mat
     [,1] [,2] [,3] [,4] [,5]
[1,]    3    4    1    3    3
[2,]    5    3    5    1    4
[3,]    4    1    1    4    3
[4,]    3    3    1    1    1
Run Code Online (Sandbox Code Playgroud)

从这个矩阵,我想创建一个5x5输出矩阵,其中i,j中的条目是 j中的元素数量大于输入矩阵的 i.

编辑:最初我描述了一个解决方案,其中输出解决方案的条目i,j i中的元素数量大于 j,但在输出中提供了相反的关系.我更改了描述以匹配输出,并且提供的答案中的任何差异都可能是由此产生的.

该解决方案提供了所需的输出:

mat.pm <- apply(mat, MARGIN = 2,
                function(x) {
                  return(apply(mat, MARGIN = 2, function(y) …
Run Code Online (Sandbox Code Playgroud)

r matrix linear-programming

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

标签 统计

r ×2

ggplot2 ×1

linear-programming ×1

matrix ×1