在 R 中,我可以在函数前面加上它们所属的包的名称(例如,dplyr::select
)。不过,我在使用包中执行此操作时遇到c
问题terra
。我可以做得很好base::c
(如果我想):
base::c(1, 2, 3)
# [1] 1 2 3
但是,在运行类似代码时遇到问题terra
:
# Dummy SpatRaster
foo <- terra::rast(matrix(1:9, ncol=3))
# Works fine
c(foo, foo)
# Not so much
terra::c(foo, foo)
# Error: 'c' is not an exported object from 'namespace:terra'
我很困惑如何不是c
导出函数,但我可以访问和使用它就好了......只要我不使用前缀。terra
问:有人可以解释为什么会这样以及我如何明确引用c
fromterra
吗?
PS?terra::c
提供了一个帮助页面,解释了如何c
将SpatRaster
对象组合成一个新SpatRaster
对象,这向我表明该功能必须已在terra
包中实现。