(R)如何强制替换公式中的向量元素?

时间:2015-06-13 18:41:49

标签: r

我正在尝试使用以向量元素表示的公式。但是,在构建公式时,元素不会被替换;相反,它是作为一个组件留下的 - 我更愿意,如果实际值立即被替换。 (这会在代码中稍后打破其他内容。)

c <- c(5:8)  #made a vector on purpose, even though only use c[1]   
form <- as.formula(y ~ exp(-(x-c[1])^2/2))

此时form包含y ~ exp(-(x - c[1])^2/(2)),但我希望它包含y ~ exp(-(x - 5)^2/(2))

1 个答案:

答案 0 :(得分:6)

bquote使得将vlaues插入公式非常容易。例如

form <- bquote(y ~ exp(-(x- .( c[1]) )^2/2))
form
# y ~ exp(-(x - 5L)^2/2)

注意,添加“L”表示整数文字值(与一般数值相对)。这是因为5:8创建了一个整数向量。