gpt4 book ai didi

r - 'MASS::predict.lda' 不是从 'namespace:MASS' 导出的对象

转载 作者:行者123 更新时间:2023-12-04 16:55:24 26 4
gpt4 key购买 nike

R代码:

Iris <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]),
Sp = rep(c("s","c","v"), rep(50,3)))
train <- sample(1:150, 75)
z <- MASS::lda(Sp ~ ., Iris, prior = c(1,1,1)/3, subset = train)
MASS::predict.lda(z)
给出以下错误消息:
Error: 'predict.lda' is not an exported object from 'namespace:MASS'
predict.lda MASS 的功能已记录在案,但显然不是包命名空间的一部分。为什么不?
这个问题很重要,因为我需要使用 predict.lda在我自己的一个包中,这个错误使它无法通过 CRAN 检查。

最佳答案

我们可以加载包然后使用 predict

library(MASS)
predict(z)

或指定 ::: .根据 ?":::"

Accessing exported and internal variables, i.e. R objects (including lazy loaded data sets) in a namespace.

MASS:::predict.lda(z)
#$class
# [1] v s s s s c s v s v v v v c v v c v c s s s s c c v c v v c s s v c s s c v s c v v s c s c s c c s v c s s c s s c c c s c s v
#[65] v v v s c s c v v s s
#Levels: c s v

#$posterior
# c s v
#107 3.513603e-03 1.352029e-37 9.964864e-01
#37 2.749629e-26 1.000000e+00 5.088976e-50
# ...

或者另一种选择是从 namespace 获取函数
predictlda <- getFromNamespace("predict.lda", "MASS")
predictlda(z)
#$class
# [1] v s s s s c s v s v v v v c v v c v c s s s s c c v c v v c s s v c s s c v s c v v s c s c s c c s v c s s c s s c c c s c s v
#[65] v v v s c s c v v s s
#Levels: c s v

#$posterior
# c s v
#107 3.513603e-03 1.352029e-37 9.964864e-01
#37 2.749629e-26 1.000000e+00 5.088976e-50
# ..

关于r - 'MASS::predict.lda' 不是从 'namespace:MASS' 导出的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64418291/

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