这是上一个问题的编辑版本.
我们给予米的ñ表ñ意见(样本)在米变量(基因等),我们期待学习每对观测的变量的行为-例如两个观察具有最高正或负相关.为此,我在Stadler et.al看到了一张很棒的图表.自然科学(2011):

这里它可以是要使用的样本数据集.
m <- 1000
samples <- data.frame(unif1 = runif(m), unif2 = runif(m, 1, 2), norm1 = rnorm(m),
norm2 = rnorm(m, 1), norm3 = rnorm(m, 0, 5))
Run Code Online (Sandbox Code Playgroud)
我已经测试gpairs(samples)了gpairs产生这个的包装.这是一个好的开始,但没有选择在右上部分放置相关系数,也没有选择在下角的密度图:

接下来我使用ggparis(samples, lower=list(continuous="density"))了包GGally(感谢@LucianoSelzer以下评论).现在我们在上角和下角的密度上有相关性,但我们缺少对角线条形图,密度图不是热图形状.

任何想法,使更接近所需的图片(第一个)?
我有一个从原始数据中获得的1m记录样本.(供您参考,您可以使用可能产生大致相似分布的虚拟数据
b <- data.frame(matrix(rnorm(2000000, mean=c(8,17), sd=2)))
c <- b[sample(nrow(b), 1000000), ]
Run Code Online (Sandbox Code Playgroud)
我认为直方图是两个对数正态分布的混合,我试图使用EM算法使用以下代码拟合求和的分布:
install.packages("mixtools")
lib(mixtools)
#line below returns EM output of type mixEM[] for mixture of normal distributions
c1 <- normalmixEM(c, lambda=NULL, mu=NULL, sigma=NULL)
plot(c1, density=TRUE)
Run Code Online (Sandbox Code Playgroud)
第一个图是对数似然图,第二个图(如果再次点击返回),给出类似于以下密度曲线:

正如我所提到的,c1的类型为mixEM [],而plot()函数可以容纳它.我想用颜色填充密度曲线.这很容易使用ggplot2()但ggplot2()不支持mixEM []类型的数据并抛出此消息:
"ggplot不知道如何处理类mixEM的数据"我还能采取其他方法解决这个问题吗?任何建议都非常感谢!!
谢谢!
为什么以下情节看起来不同?两种方法似乎都使用高斯内核.
如何ggplot2计算密度?
library(fueleconomy)
d <- density(vehicles$cty, n=2000)
ggplot(NULL, aes(x=d$x, y=d$y)) + geom_line() + scale_x_log10()
Run Code Online (Sandbox Code Playgroud)
ggplot(vehicles, aes(x=cty)) + geom_density() + scale_x_log10()
Run Code Online (Sandbox Code Playgroud)
更新:
这个问题的解决方案已经在SO上出现了,但是ggplot2传递给R stats密度函数的具体参数仍然不清楚.
一种替代的解决方案是从GGPLOT2情节直提取密度数据,如图这里
我density对我的数据有一个密度估计(使用函数)learningTime(见下图),我需要找到概率Pr(learningTime > c),即从给定数字c(红色垂直线)到曲线末端的密度曲线下面积.任何的想法?
r probability kernel-density density-plot probability-density
我ggplot2::ggplot用于所有2D绘图需求,包括密度图,但我发现当在一个空间(不同颜色)上绘制具有极端异常值的多个重叠密度时,x轴上的线变得有点分散注意力.
那么我的问题是,您是否可以删除密度图的底部部分?如果是这样,怎么样?
您可以使用此示例:
library(ggplot2)
ggplot(movies, aes(x = rating)) + geom_density()
Run Code Online (Sandbox Code Playgroud)
应该是这样的:
我认为这可能部分是一个 R 问题,部分是一个统计问题,所以如果有更好的地方,请原谅(如果是这样,请告诉我在哪里)。
假设我有一个my_measurements这样的数据集:
> glimpse(my_measurements)
Observations: 200
Variables: 2
$ sample_id <int> 18, 22, 30, 59, 74, 126, 133, 137, 147, 186, 189, 195, 203, 248, 294, 303, 320, 324, 353, 3...
$ value <dbl> 0.9565217, 1.0000000, 0.7500000, 0.7142857, 1.0000000, 0.8571429, 1.0000000, 1.0000000, 0.8...
Run Code Online (Sandbox Code Playgroud)
其中每个sample_id都有相应的测量值,该测量值value介于 0 和 1 之间(例如,它们可能是某物的比例)。
它的完整dput()输出是:
structure(list(sample_id = c(18L, 22L, 30L, 59L, 74L, 126L, 133L,
137L, 147L, 186L, 189L, 195L, 203L, 248L, 294L, 303L, 320L, 324L,
353L, …Run Code Online (Sandbox Code Playgroud) 我有以下数据框
x1<-data.frame(n = rnorm(1000000, mean=0, sd=1), nombre= "x1")
x2<-data.frame(n=rnorm(1500000, mean=3, sd=1), nombre= "x2")
x<-rbind(x1, x2)
ggplot(x, aes(n, fill=nombre))+
geom_histogram(alpha=0.5, binwidth=0.25, position = "identity")+
geom_density()
Run Code Online (Sandbox Code Playgroud)
我想将密度图叠加到直方图上,但它看起来就像 0 中的一条细线
我有欧胡岛海岸附近的点数据。其他人使用这些相同的数据创建了一个大的polygon. 我相信他首先创建了heatmap一个quartic (biweight) kernel,每个点周围半径为 1 公里,像素大小可能为 1 平方公里。他引用了 Silverman(1986 年,第 76 页,方程 4.5,我认为它指的是“统计和数据分析的密度估计”一书)。我相信他将他heatmap的polygon. 我正在尝试polygon使用R和用假数据来近似他Windows 10。我可以使用包中的kde函数来接近ks(见下图)。但该软件包仅包含Gaussian kernels. 是否可以polygon使用 a创建类似的quartic kernel?
另一个分析实际上创建了两个版本的polygon. 一个边界被标记为“> 1 每公里密度”;另一个边界被标记为“> 0.5 每公里密度”。我不知道他是否使用R,QGIS,ArcGIS或别的东西。我无法创建一个大polygon的QGIS,也没有ArcGIS.
感谢您对如何创建任何建议,polygon类似所示的一个,但使用quartic kernel的替代Gaussian kernel。如果我能提供更多信息,请告诉我。
这是我的虚假数据的链接CSV和QGIS格式:在此处输入链接描述 …
以示例库中的原子轨道示例为基础,我尝试使用等值面来可视化 3D 任意复杂场,就像循环 HSV 颜色图说明场的相位一样。但是,在相场取值接近pi和的点上存在问题,-pi在下图中,它对应于红色:

在这些点中,pi和之间存在明显的不连续性-pi,并且 mayavi 似乎在这些值之间进行了插值,这导致了上图中出现的“嘈杂色线”。
我的问题:有没有办法解决这个问题,例如,通过禁用颜色插值?
重现情节的代码:
import numpy as np
from mayavi import mlab
L = 1.0
N = 150
xx, yy, zz = np.mgrid[-L:L:N*1j, -L:L:N*1j, -L:L:N*1j]
= 0.0
? = 0.30
V = np.exp((-(xx-)**2 -(yy)**2 -(zz)**2 ) / (2*?**2))
density = V/np.amax(np.abs(V))
phi = np.arctan2(yy,xx)
density = density *np.exp(6*phi*1j)
figure = mlab.figure('Phase Plot',bgcolor=(0, 0, 0), size=(700, 700))
field = mlab.pipeline.scalar_field(np.abs(density),vmin= 0.0 ,vmax= 1.0)
colour_data = …Run Code Online (Sandbox Code Playgroud) 我有一个包含 20 个日期的数据框,每个日期有 50 个值。我正在尝试绘制这些值的二维密度图,该图保留在最小-最大带内。我想要的一个例子是:
我知道如何绘制二维密度图以及丝带,但不知道如何将两者连接在一起。这是我的尝试:
require(ggplot2)
require(dplyr)
require(RColorBrewer)
set.seed(248)
##Create reproducible example
Chass <- data.frame(nb=rep(1:50, 10), x=rep(1:10, each=50), val=c(sample(seq(7,9,0.1), size=50, replace = T),
sample(seq(17,19,0.1), size=50, replace = T),
sample(seq(10,12,0.1), size=50, replace = T),
sample(seq(7,10,0.1), size=50, replace = T),
sample(seq(6,18,0.1), size=50, replace = T),
sample(seq(5,11,0.1), size=50, replace = T),
sample(seq(6,13,0.1), size=50, replace = T),
sample(seq(2,7,0.1), size=50, replace = T),
sample(seq(4,8,0.1), size=50, replace = T),
sample(seq(3,16,0.1), size=50, replace = T)))
##Compute statistics for the ribbon
Chass_stats <- summarise(group_by(Chass, x), min=min(val, na.rm=T), …Run Code Online (Sandbox Code Playgroud) density-plot ×10
r ×9
ggplot2 ×6
heatmap ×2
em ×1
ggally ×1
isosurface ×1
mayavi ×1
polygon ×1
probability ×1
python ×1