r - 如何在自己的函数中使用 lm 中的变量?
问题描述
我想写一个函数,它根据输入计算线性回归。
我可以构建函数,但是当我调用它时(例如myregression(i1,i2)
它会导致错误)
myregression <- function(input1, input2) {
model <- lm(data = trainData, example ~ input1 + input2)
}
如何在函数中使用输入lm
?
解决方案
在函数内部,我们可以使用paste
创建公式
myregression <- function(input1, input2) {
model <- lm(data = trainData, paste0("example ~", input1, " + ", input2))
}
或者另一种选择是reformulate
myregression <- function(input1, input2) {
model <- lm(data = trainData, reformulate(c(input1, input2), "example"))
}
并将函数称为
myregression("i1", "i2")
推荐阅读
- java - Java 64 位安装不起作用;只有32位吗?
- python - 查找 Series 值发生显着变化的索引值
- spring-boot - @Autowired 在 Spring Boot 中为 Null,但同样可以通过 Application Context 访问
- javascript - 带有语义 UI 的搜索输入 React OnChange 非常慢
- c++ - 为什么我的编译器将字符串视为 const char[]?
- rust - 是否可以在 Cargo.toml 中指定依赖功能的版本?
- r - 如何在 R 中获得 lm() 和 nls() 求解器以自洽地处理具有偏移的线性公式?
- android - 在 Android 中一次播放多个 URL
- oauth - 调用后端API时通过access_token或id_token识别用户
- json - 如何在服务器端解析 JSON 对象?