gpt4 book ai didi

R 从命名空间选择性导入

转载 作者:行者123 更新时间:2023-12-04 14:48:20 26 4
gpt4 key购买 nike

如果我正在编写 R 包,我可以使用 importFrom(plyr,colwise)有选择地导入 colwise()函数进入我的命名空间。如果我在命令行以交互方式运行代码,是否有类似的方法?

一个粗略的解决方案是加载一个包但不导入任何东西,然后写一堆 foo <- pkg::foo手动导入的分配,但我看不到如何在不导入的情况下加载。

最佳答案

如果您发现自己反复想要使用包中相同的几个函数,最简洁的解决方案可能是创建并加载一个仅包含这些函数的包。

## Set up package source directory
dummy <- "" ## Need one object with which to initiate package skeleton
package.skeleton("dummy", "dummy")

## Clean up the man subdirectory
lapply(dir("dummy/man", full.names=TRUE), file.remove)

## Use NAMESPACE to pull in the functions you want
funs <- c("aaply", "ddply", "adply")
cat(paste0("importFrom(plyr, ", paste(funs, collapse=", "), ")"),
paste0("export(", paste(funs, collapse=", "), ")"),
file = "dummy/NAMESPACE",
sep = "\n")

## install the package
library(devtools)
install("dummy")

## Confirm that it worked
library(dummy)
ls(2)
# [1] "aaply" "adply" "ddply"
environment(aaply)
# <environment: namespace:plyr>
aaply(matrix(1:9, ncol=3), 2, mean)
# 1 2 3
# 2 5 8

关于R 从命名空间选择性导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16302297/

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