gpt4 book ai didi

r - 编辑和重用 R 中模型调用的公式部分

转载 作者:行者123 更新时间:2023-12-05 09:22:26 26 4
gpt4 key购买 nike

我在 R 中安装了一个神经网络:

model = nnet(f1/max(f1)~n1+n2+n3+n4+n5+n6+n7+n8+n9+n10+n11+n12,data=md,size=3)

从模型对象中我可以提取调用的公式,model$call$formula,它返回一个类型为 call 的对象,看起来是一个列表长度 3。我知道我可以在 nnet() 调用中的 call 对象上使用 as.formula() 但我不知道如何先编辑它。

我想做的是修改公式,然后传回给nnet()。具体来说,我希望能够更改因变量并添加或删除因变量。

最佳答案

您也可以在不使用 update.formula 的情况下“手动”执行此操作。我想使用 update.formula 可能更容易,但我仍然给你另一种方式:

## your formula
f.example <- x ~ n1 + n2
## you can extract each member of the formula with [[2/1/3]]
f.left.side <-as.character(f.example[[2]]) # "x"
f.middle <- as.character(f.example[[1]]) # "~"
f.right.side <- as.character(f.example[[3]]) # "n1 + n2"
## you do your change, e.g:
f.right.side.new <- "n1 + n3"
## you rebuild your formula, first as a character (%s for string), then as a formula
f.new <- sprintf("%s ~ %s", f.left.side, f.right.side.new)
f.new <- as.formula(f.new)

关于r - 编辑和重用 R 中模型调用的公式部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26381410/

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