gpt4 book ai didi

R将轮廓线保存到数据框中

转载 作者:行者123 更新时间:2023-12-02 05:09:52 26 4
gpt4 key购买 nike

ggplot 允许我绘制数据序列 x 和 y 的等高线:

library(ggplot2)
df <- data.frame(x=c(1:100),y=rnorm(100))
ggplot(df,aes(x=x,y=y))+geom_density2d()

我希望能够将主要四个等高线 (95,75,50,25)max 和 (95,75,50,25)min 的数据输出保存在数据框中。我将不胜感激你的帮助。也许有一种方法可以直接执行此操作,而无需使用 ggplot。

最佳答案

使用 ggplot() 对象周围的函数 ggplot_build() 您可以访问用于绘图的所有数据。数据存储在列表元素 data 中。

p<-ggplot_build(ggplot(df,aes(x=x,y=y))+geom_density2d())

str(p$data)
List of 1
$ :'data.frame': 1895 obs. of 6 variables:
..$ level: num [1:1895] 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 5e-04 ...
..$ x : num [1:1895] 1 2 3 4 5 ...
..$ y : num [1:1895] 1.42 1.44 1.45 1.45 1.46 ...
..$ piece: int [1:1895] 1 1 1 1 1 1 1 1 1 1 ...
..$ group: Factor w/ 13 levels "1-001","1-002",..: 1 1 1 1 1 1 1 1 1 1 ...
..$ PANEL: int [1:1895] 1 1 1 1 1 1 1 1 1 1 ...

您可以将这些数据存储为单独的数据框。

gg<-p$data[[1]]
head(gg)
level x y piece group PANEL
1 5e-04 1.000000 1.423926 1 1-001 1
2 5e-04 2.000000 1.435286 1 1-001 1
3 5e-04 3.000000 1.445293 1 1-001 1
4 5e-04 4.000000 1.454166 1 1-001 1
5 5e-04 5.000000 1.462106 1 1-001 1
6 5e-04 5.255343 1.463967 1 1-001 1

grouppiece 变量显示每个值属于哪一行(在这种情况下,1 - 外线,13 - 内线)。

关于R将轮廓线保存到数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15666466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com