我在写我想做的事情时遇到了麻烦,所以请耐心等待。
我试图从列表中提取信息并使用data.table函数。如果我只有一个数据集,那么很容易使用元素的名称,如下所示:
x = myList$first_val
y = myList$second_val
但是,我想编写一个更通用的函数。问题是R将变量本身视为要提取的项的名称。这是一个例子:
myFun <- function(data, independent_var, dependent_var)
{
formula = paste(independent_var, "~", dependent_var)
regression = lm(formula, data=data)
# problem on the next two lines
x = data$independent_var
y = data$dependent_var
plot(x,y)
return(regression)
}
数据可能如下所示:
Market_Price Sales_Price
10 12
11 11
14 19
示例函数调用可能如下所示:
my_reg = myFun(prices, "Market_Value", "Sales_Price")
问题是R认为变量而不是它们的内容是数据中列的名称。同样,我在使用data.frame时遇到同样的问题。
myFun2 <- function(data, regression, variable, value, conf.level)
{
# how the special case works
# new = data.frame("Market_Price" = value)
# how I want it to work
new = data.frame(variable = value)
CI = predict(regression, newdata = new, interval="confidence",level=conf.level)
return(CI)
}