This tutorial显示了如何将字符串替换为class someClass{
someVariable;
ngOnInit() {
this.someVariable = {};
window.onscroll = function() {
// here I want to access someVariable or someFunction
}
}
someFunction() {
}
}
模型调用。我想做同样的事情,但使用lm
进行面板回归。目标是创建一个参数组合网格,然后通过一次plm
调用运行几个回归,每次替换适当的变量。
apply
这会产生:
错误:inherits(object," formula")不为TRUE
解决方案可能涉及将变量名称粘贴到library(plm)
#make grid of parameters to loop over; select just the first row to reproduce the error
parameters <- expand.grid(dv="mpg", x1=c("cyl", "gear"), x2=c("hp", "wt"), stringsAsFactors = FALSE)
row <- parameters[1,]
#lm works
lm(substitute(y ~ x*z, list(y=as.name(row[[1]]), x=as.name(row[[2]]), z=as.name(row[[3]]))), data=mtcars)
#plm does not
plm(substitute(y ~ x*z, list(y=as.name(row[[1]]), x=as.name(row[[2]]), z=as.name(row[[3]]))), data=mtcars)
中,而不是使用plm
。或者我可以避免为此目的使用substitute
吗?
答案 0 :(得分:0)
plm需要面板数据。
您可以使用Produc
中的?plm
示例数据集。
library(plm)
parameters <- expand.grid(dv="pcap",
x1=c("hwy", "water"),
x2=c("util", "pc"),
stringsAsFactors = FALSE)
row <- parameters[1,]
# I assign the formula to another object
# to avoid clutter in calling plm()
formula.plm <- substitute(y ~ x * z,
list(y = as.name(row[[1]]),
x = as.name(row[[2]]),
z = as.name(row[[3]])))
plm(eval(formula.plm), data = Produc)