将列表的元素保存到函数内的“ .Rda”文件中

Geodex

举例来说,我有一个数据列name其中包含:nmeansd如何提取列表的元素,然后将其保存到单个rda文件中。该文件应包含生成的数据集而不是列表。

random.r <- function(df, filename) {
  save.random <- function(name, n, mean, sd) {
    rn <- rnorm(n=n, mean=mean, sd=sd)
    assign(deparse(name), rn)
  }

  rlist <- sapply(1:nrow(df), function(x) 
    save.random(df$name[x], df$n[x],df$mean[x],df$sd[x],simplify = FALSE))
  save(list = rlist, file = paste(filename,".Rda",sep=""), envir = .GlobalEnv)    
}

干杯

鲍姆斯

诀窍是告诉R在哪里可以找到中提到的对象save为此,请提供列表本身作为环境:

save(list=names(rlist), file=..., envir=as.environment(rlist))

还要注意,它list必须是对象名称的向量,所以它应该是names(rlist)(而不是简单地)rlist,因为后者是数字向量的列表。

以下是对的修改random.r,可以按预期工作。在本文的结尾,我还将提供简化的代码以实现相同的目的。

random.r <- function(df, filename) {
  save.random <- function(name, n, mean, sd) {
    rnorm(n=n, mean=mean, sd=sd)
  }

  rlist <- setNames(lapply(1:nrow(df), function(x) {
    save.random(df$name[x], df$n[x], df$mean[x], df$sd[x])
  }), df$name)
  save(list = names(rlist), file = paste0(filename, ".rda"), 
       envir = as.environment(rlist))    
}

上面的关键更改是将names(rlist)要保存的元素名称的列表(向量)的规范,以及as.environment(rlist)R希望在其中搜索具有这些名称的对象的环境。另请注意,我曾经setNames正确地将的元素分配df$name为的结果元素的名称rlist

简化版本为:

rlist <- setNames(mapply(rnorm, d$n, d$mean, d$sd), d$name)
save(list=names(rlist), file='~/../Desktop/foo.rda', 
     envir=as.environment(rlist))

d在哪儿data.framemapply是一个方便的快捷方式;它逐步遍历向量d$nd$meand$sd同时执行rnorm每次。

如果需要,当然可以将简化的代码包装到一个函数中,例如:

f <- function(x, filename) {
  rlist <- setNames(mapply(rnorm, x$n, x$mean, x$sd), x$name)
  save(list=names(rlist), file=paste0(filename, '.rda'), 
       envir=as.environment(rlist))
}

d <- data.frame(name=LETTERS, n=sample(100, 26), mean=runif(26), sd=runif(26),
                stringsAsFactors=FALSE)

f(d, '~/../Desktop/foo')

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将列表的元素保存到函数内的“ .Rda”文件中

来自分类Dev

将函数的输出保存到列表中的 Python 函数

来自分类Dev

列表中的Unicode元素保存到文件

来自分类Dev

将文件中的行保存到列表

来自分类Dev

为什么不能在R中使用Apply函数将.rda文件加载到R工作区中?

来自分类Dev

我可以在不使用R的情况下将.rda文件转换为python中的pandas数据框吗?

来自分类Dev

将列表保存到.txt文件

来自分类Dev

将列表保存到Excel文件

来自分类Dev

如何将字典列表保存到文件中?

来自分类Dev

将zip文件条目保存到列表中

来自分类Dev

如何将列表中的结果保存到.txt文件?

来自分类Dev

将列表框项目保存到 csv 文件中

来自分类Dev

如何(迭代地)将列表元素保存到数据框中?

来自分类Dev

将输入保存到列表中?

来自分类Dev

python:将字典保存到列表中

来自分类Dev

如何使用Python的LXML模块基于子标记中的属性将元素树保存到列表中?

来自分类Dev

javascript:将<svg>元素保存到磁盘上的文件

来自分类Dev

python:将列表保存到文件时要兼顾性能

来自分类Dev

python:将列表保存到文件时要兼顾性能

来自分类Dev

使用python将文件列表保存到文本文件中

来自分类Dev

Python将列表中的数据保存到CSV的列中

来自分类Dev

将行列表保存到pyspark中的Hive表中

来自分类Dev

将* .dat中的数据保存到pyhton不同列表中

来自分类Dev

将.py文件保存到文件本身内另一个目录中的脚本

来自分类Dev

将操作过的元素保存到mysql中

来自分类Dev

将UUID号列表保存到python中的.csv文件中

来自分类Dev

使用Python将列表中的数据保存到文本文件中

来自分类Dev

将exec输出保存到文件中

来自分类Dev

将List <>保存到.txt文件中

Related 相关文章

  1. 1

    将列表的元素保存到函数内的“ .Rda”文件中

  2. 2

    将函数的输出保存到列表中的 Python 函数

  3. 3

    列表中的Unicode元素保存到文件

  4. 4

    将文件中的行保存到列表

  5. 5

    为什么不能在R中使用Apply函数将.rda文件加载到R工作区中?

  6. 6

    我可以在不使用R的情况下将.rda文件转换为python中的pandas数据框吗?

  7. 7

    将列表保存到.txt文件

  8. 8

    将列表保存到Excel文件

  9. 9

    如何将字典列表保存到文件中?

  10. 10

    将zip文件条目保存到列表中

  11. 11

    如何将列表中的结果保存到.txt文件?

  12. 12

    将列表框项目保存到 csv 文件中

  13. 13

    如何(迭代地)将列表元素保存到数据框中?

  14. 14

    将输入保存到列表中?

  15. 15

    python:将字典保存到列表中

  16. 16

    如何使用Python的LXML模块基于子标记中的属性将元素树保存到列表中?

  17. 17

    javascript:将<svg>元素保存到磁盘上的文件

  18. 18

    python:将列表保存到文件时要兼顾性能

  19. 19

    python:将列表保存到文件时要兼顾性能

  20. 20

    使用python将文件列表保存到文本文件中

  21. 21

    Python将列表中的数据保存到CSV的列中

  22. 22

    将行列表保存到pyspark中的Hive表中

  23. 23

    将* .dat中的数据保存到pyhton不同列表中

  24. 24

    将.py文件保存到文件本身内另一个目录中的脚本

  25. 25

    将操作过的元素保存到mysql中

  26. 26

    将UUID号列表保存到python中的.csv文件中

  27. 27

    使用Python将列表中的数据保存到文本文件中

  28. 28

    将exec输出保存到文件中

  29. 29

    将List <>保存到.txt文件中

热门标签

归档