使用purrr和几个不同的数据集自动进行探索图

旺帕博士

我真的很喜欢使用purrr自动执行我的探索图,我通过以下博客文章了解了如何做:https://www.r-bloggers.com/2018/08/automating-exploratory-plots-with-ggplot2-and- rr /

但是,此博客文章中的代码存在一个问题,就是您必须在函数中指定数据集。我想在函数中归纳数据集,以便我可以根据需要更改数据集。

我已经尝试了所有我能想到的方法,但是确实被卡住了。有什么建议?

###Sample dataset

dataSet <- data.frame(id = c(1,1,2,2),
                      col1 = c(3.5,4.5,6.5,7.6),
                      col2 = c(1.2,2.3,4.5,6.7),
                      col3 = c(9.8,7.6,5.4,5.6),
                      timepoint = c(1,2,1,2))

###Sample function

plot_func <- function(x,y,d) {
  ggplot(d, aes(x = .data[[x]], y = .data[[y]])) +
    geom_line(aes(x = .data[[x]], y = .data[[y]], group = id), size = 1, alpha = 0.3)
}

###Specify variables of interest

exposures <- names(dataSet)[2:4]
timepoint <- names(dataSet)[5]

##Name variables of interest

exposures <- purrr::set_names(exposures)
timepoint <- purrr::set_names(timepoint)

###This doesn't work because need to specify the dataset, but no matter what I try I can't figure out where to put the dataset in the formula

plots = map(exposures,
            ~map(timepoint, plot_func, y = .x) )
蒂姆·范范

如果仅循环exposures一个时间点,则应执行以下操作:

plots = map(exposures, ~ plot_func(x = timepoint, y = .x, d = dataSet))

您可以只使用lamda表示法来填写要指定的变量。在这种情况下.x是您的输入mapexposures

请参见下面的代码:

library(ggplot2)
library(purrr)

###Sample dataset

dataSet <- data.frame(id = c(1,1,2,2),
                      col1 = c(3.5,4.5,6.5,7.6),
                      col2 = c(1.2,2.3,4.5,6.7),
                      col3 = c(9.8,7.6,5.4,5.6),
                      timepoint = c(1,2,1,2),
                      timepoint2 = c(3,4,3,4))

### Sample function
plot_func <- function(x,y,d) {
  ggplot(d, aes(x = .data[[x]], y = .data[[y]])) +
    geom_line(aes(x = .data[[x]], y = .data[[y]], group = id), size = 1, alpha = 0.3)
}

### Specify variables of interest
exposures <- names(dataSet)[2:4]
timepoint <- names(dataSet)[5]
timepoint2 <- names(dataSet)[5:6]

##Name variables of interest
exposures <- purrr::set_names(exposures)
timepoint <- purrr::set_names(timepoint)
timepoint2 <- purrr::set_names(timepoint2)

### This works

plots <- map(exposures, ~ plot_func(x = timepoint, y = .x, d = dataSet))

plots
#> $col1
#> $col2
#> $col3

如果要循环exposures和时间点变量(我添加timepoint2为另一个时间点列),则可以使用嵌套map调用:

plots2 <- map(exposures, ~ map(timepoint2, function(z) plot_func(x = z, y = .x, d = dataSet)))

plots2
#> $col1
#> $col1$timepoint
#> $col1$timepoint2
#> $col2
#> $col2$timepoint
#> $col2$timepoint2
#> $col3
#> $col3$timepoint
#> $col3$timepoint2

reprex软件包(v0.3.0)创建于2021-01-14

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据集拆分为嵌套的数据帧列表,然后使用 Tidyr 和 Purrr 进行传播

来自分类Dev

根据闪亮的实际输入,使用不同的数据集和列绘制不同的反应图

来自分类Dev

使用ggplot2对3个不同数据集的3个图进行分面

来自分类Dev

使用ggplot2对3个不同数据集的3个图进行分面

来自分类Dev

使用MPAndroidChart饼图显示不同的数据集

来自分类Dev

饼图布局在Firefox和Chrome上针对同一数据集产生不同的顺序

来自分类Dev

使用pytorch和sklearn对MNIST数据集进行交叉验证

来自分类Dev

MATLAB:如何绘制具有不同比例和不同数据集的多个水平条形图?

来自分类Dev

使用两个不同的彩色数据集创建matplotlib热图

来自分类Dev

如何使用来自不同数据集的“边际”(分布直方图)覆盖Seaborn联合图

来自分类Dev

使用ggplot2构面网格探索具有连续变量和分类变量的大型数据集

来自分类Dev

重复几个数据集和proc sql

来自分类Dev

使用图算法进行道路网络试验的数据集

来自分类Dev

使用不同的数据进行生产和开发Firebase网站

来自分类Dev

使用ggplot()和facet_grid()绘制几个图

来自分类Dev

如何在训练和测试不同的数据集的情况下进行GridSearchCV?

来自分类Dev

ggVis:在不同数据集上创建具有多层的图

来自分类Dev

如何使用R对具有不同列数的两个数据集进行行绑定

来自分类Dev

使用 R Studio 进行聚类分析中相同数据集的不同结果?

来自分类Dev

scikit-learn:如何使用两个不同的数据集作为训练集和测试集

来自分类Dev

如何使用不同的几个列值过滤数据

来自分类Dev

如何使用Purrr嵌套数据对特定行进行计算

来自分类Dev

使用groupby和agg使数据框准备好进行条形图绘制

来自分类Dev

饼图 - 使用 DataTables 和 Highcharts 进行数据可视化

来自分类Dev

使用Purrr和Modelr从剂量反应模型(DRM)进行预测

来自分类Dev

R-如何在同一图中使用两个数据集进行XY图?

来自分类Dev

R-如何在同一图中使用两个数据集进行XY图?

来自分类Dev

如何从tf.keras.preprocessing.image_dataset_from_directory()探索和修改创建的数据集?

来自分类Dev

使用分类数据集进行一键编码:如何处理分类数据中的不同值(较少的数字)

Related 相关文章

  1. 1

    将数据集拆分为嵌套的数据帧列表,然后使用 Tidyr 和 Purrr 进行传播

  2. 2

    根据闪亮的实际输入,使用不同的数据集和列绘制不同的反应图

  3. 3

    使用ggplot2对3个不同数据集的3个图进行分面

  4. 4

    使用ggplot2对3个不同数据集的3个图进行分面

  5. 5

    使用MPAndroidChart饼图显示不同的数据集

  6. 6

    饼图布局在Firefox和Chrome上针对同一数据集产生不同的顺序

  7. 7

    使用pytorch和sklearn对MNIST数据集进行交叉验证

  8. 8

    MATLAB:如何绘制具有不同比例和不同数据集的多个水平条形图?

  9. 9

    使用两个不同的彩色数据集创建matplotlib热图

  10. 10

    如何使用来自不同数据集的“边际”(分布直方图)覆盖Seaborn联合图

  11. 11

    使用ggplot2构面网格探索具有连续变量和分类变量的大型数据集

  12. 12

    重复几个数据集和proc sql

  13. 13

    使用图算法进行道路网络试验的数据集

  14. 14

    使用不同的数据进行生产和开发Firebase网站

  15. 15

    使用ggplot()和facet_grid()绘制几个图

  16. 16

    如何在训练和测试不同的数据集的情况下进行GridSearchCV?

  17. 17

    ggVis:在不同数据集上创建具有多层的图

  18. 18

    如何使用R对具有不同列数的两个数据集进行行绑定

  19. 19

    使用 R Studio 进行聚类分析中相同数据集的不同结果?

  20. 20

    scikit-learn:如何使用两个不同的数据集作为训练集和测试集

  21. 21

    如何使用不同的几个列值过滤数据

  22. 22

    如何使用Purrr嵌套数据对特定行进行计算

  23. 23

    使用groupby和agg使数据框准备好进行条形图绘制

  24. 24

    饼图 - 使用 DataTables 和 Highcharts 进行数据可视化

  25. 25

    使用Purrr和Modelr从剂量反应模型(DRM)进行预测

  26. 26

    R-如何在同一图中使用两个数据集进行XY图?

  27. 27

    R-如何在同一图中使用两个数据集进行XY图?

  28. 28

    如何从tf.keras.preprocessing.image_dataset_from_directory()探索和修改创建的数据集?

  29. 29

    使用分类数据集进行一键编码:如何处理分类数据中的不同值(较少的数字)

热门标签

归档