簡體   English   中英

如何在R的lm函數中指定公式

[英]How is formula specified in R's lm function

我在R中有一個功能,可以說

myfunction <- function(formula,data)

除其他外,該函數包含對lm()的調用。 公式應包含協變量,並應指定為

公式= x1 + x2 + ... + x_n

數據包含Z和W列,其中響應

y=data$Z/data$W

我只想讓公式包含協變量,因為該函數會為每次迭代修改響應變量。

然后,對lm()的調用應與

lm(y~formula,data=data)

為什么要這么做? myfunction傳遞整個公式更myfunction ,例如:

myfunction <- function(formula,data) {
   data = data*2   # this is an example of data manipulation
   lm(formula=formula, data=data)
}

然后像使用lm一樣使用myfunction

如果您真的想創建復雜性(一無所有?),您還可以使用以下事實: lm將強制將作為參數傳遞的任何string強制轉換為適當的formula對象

myfunction2 <- function(formula2,data) {
   data = data*2   # this is an example of data manipulation
   lm(formula=paste0("y~",formula2), data=data)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM