如何在 R 中创建循环函数?

How do I create a loop function in R?

提问人:JSG 提问时间:10/10/2022 最后编辑:thelatemailJSG 更新时间:10/11/2022 访问量:44

问:

嗨,我需要创建介于 0 到 1 x 0.1 之间的输入数字。我给它起了个名字

prior <- seq(0,1,0.10)

现在我想在 lda 函数中输入这些数字。

 Lda.obj <- lda(Y~., data=liver, prior=c(1-prior,prior)

我是 R 的新手,只知道基础知识。我仍在尝试弄清楚如何使用循环和函数。 后来,在我能够将这 10 个数字输入到 lda 函数中之后,我想绘制这些点。

R 函数 循环 序列

评论


答:

1赞 Isaiah 10/10/2022 #1
prior_input <- 0
Lda.obj <- c()
for (i in 1:11) {
  Lda.obj[i] <- lda(Y~., data=liver, prior=c(1-prior_input, prior_input))
  prior_input <- prior_input + 0.1
}

像这样的东西?

评论

0赞 JSG 10/10/2022
我试过了,它给了我这个错误:lda.default(x, grouping,,) group 中的错误意味着在数字上是相同的
0赞 JSG 10/10/2022
Show in New Window Call: lda(V7 ~ ., data = Liver) Prior probabilities of groups: Not Severe Severe 0.5797101 0.4202899 Group means: V1 V2 V3 V4 V5 Drinks Not Severe 89.81500 68.34000 29.8250 25.99000 43.17000 3.392500 Severe 90.63448 71.97931 31.2069 22.78621 31.54483 3.541379 Coefficients of linear discriminants: LD1 V1 0.08311791 V2 0.02263406 V3 0.05892900 V4 -0.11811831 V5 -0.01497230 Drinks 0.06061389
0赞 Isaiah 10/11/2022
谢谢朱莉!Prior有两种不同的用途,我没有注意到,所以我做了一个改变。你现在可以试试吗?