[英]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.