【问题标题】:Modifying R package data修改 R 包数据
【发布时间】:2013-02-05 15:42:48
【问题描述】:

bio.infer 包中包含需要修改的数据框 /usr/lib/R/library/bio.infer/data/itis.ttable.rda。

加载 bio.infer 包并将数据框与 data() 函数,我使用 write.table() 将数据框写入文本文件。

我使用 emacs 在数据框中添加了另一行,然后将 read.table() 应用于 创建一个数据框,但它在我的密码中,而不是 R 库数据子目录 对于 bio.infer 包。

复制/保存/写入文本文件或 itis.ttable 的本地副本到 /usr/lib/R/library/bio.infer/data/itis.ttable.rda?我查看了 R 文档和我的 R 书籍库,但没有看到如何将此行添加到库的数据框中。

【问题讨论】:

  • 为什么要更改软件包附带的数据而不是创建新副本?一方面,如果您更新软件包,您最终会丢失所做的更改。

标签: r


【解决方案1】:

在 rda 文件中使用 loadsave

#Path to the data file
fname <- system.file("data", "itis.ttable.rda", package = "bio.infer")
stopifnot(file.exists(fname))

#Load data into new environment
e <- new.env()
load(fname, envir = e)

#Manipulate it
e$itis.ttable <- rev(e$itis.ttable) #or whatever

#Write back to file
save(itis.ttable, file = fname, envir = e)

尽管正如 David Robinson 所提到的,您可能不应该覆盖包中的副本。制作自己的副本可能更明智。

【讨论】:

  • 谢谢你,里奇。编辑软件包附带的数据有两个原因:1)添加不在数据框中的分类单元;2)因为其他 bio.infer 函数使用该数据框,而不是我的项目子目录中的数据框。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-17
相关资源
最近更新 更多