我有一個更復雜的功能,我正在努力。我想在我的函數內部傳遞一個變量來做幾件事情。不工作的部分試圖訪問一個嵌入了我的變量名稱的對象。如何將字符串傳遞給R函數中的對象?
一個簡單的例子如下:
## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
## Page 9: Plant Weight Data.
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
D9.fit.lm <- lm(weight ~ group)
my.coeff <- function(mname)
{
b <- round(mname.fit.lm$coef[1],2)
m <- round(mname.fit.lm$coef[2],4)
r2 <- round(summary(mname.fit.lm)$r.squared,2)
cbind(b, m, r2)
}
所以,如果我嘗試這個有點像這樣的代碼:
my.coeff("D9")
然後我收到以下錯誤:
Error in my.coeff("D9") : object 'mname.fit.lm' not found
我真的是我的功能,它應該看起來像這樣的輸出
cbind(round(D9.fit.lm$coef[1],2),round(D9.fit.lm$coef[2],4),round(summary(D9.fit.lm)$r.squared,2))
[,1] [,2] [,3]
(Intercept) 5.03 -0.371 0.07
謝謝!
除了缺少一個括號外,這是它! mname.fit.lm < - get(paste(mname,「.fit.lm」,sep =「」))謝謝! – user918967