我想为变量分配一个公式,然后获取包含公式中变量的数据框,并使用结果创建一个新列。我认为我可以使用的功能是model.frame但我不确定。知道我怎么能这样做吗?
names(mydata)
[1] "STATION_NAME" "LATITUDE" "LONGITUDE" "DATE" "SNOW"
[6] "TMAX" "TMIN" "PRCP"
varForm <- "(TMIN+TMAX)/2"
calcVect <- model.frame(varForm, data = mydata) Error in eval(expr, envir, enclos) : object 'TMIN' not found
mydata$calcField <- calcVect Error: object 'calcVect' not found
mydata和varForm都是我正在处理的用户定义函数的参数。这不仅仅是直接计算该领域的原因。谢谢!
答案 0 :(得分:0)
您好我认为您可以使用within
eq <- "varForm = (TMIN+TMAX)/2"
mydata <- within(mydata, eval(parse(text = eq)))