这是this question的以下问题。
在我的职能中,我想:
- 创建一个没有缺失值的新数据框
- 将某些变量(即iv1和iv2)居中,然后将它们添加到新的数据框中,并在居中变量中添加前缀“ center_”。那就是“ centered_man”“ centered_woman”
但是当我运行下面的代码时,我收到一条错误消息-Error in
[。data.frame (dataset,c(iv1,iv2,dv)) : object 'man' not found
。你能帮我吗?
# create example data
testData <- data.frame(man = c(9,8,3,4,NA,8),woman = c(5,1,1),love = c(1,2,5,NA))
# define the function
polynomial <- function(iv1,dv,dataset){
# create a new data frame with no missing values in iv1,and dv
dataTemp <- na.omit(dataset[,dv)])
# add the cetnered variables to the new data frame - dataTemp
dataTemp[,centered_iv1] <- scale(dataTemp[,iv1],center = TRUE,scale = FALSE)
dataTemp[,centered_iv2] <- scale(dataTemp[,iv2],scale = FALSE)
# define the formula
formula <- substitute(dv ~ centered_iv1 + centered_iv2 + I(centered_iv1^2) + I(centered_iv1 * centered_iv2) + I(centered_iv2^2))
# run the formula
model <- lm(formula = formula,data = dataset)
return(summary(model))
}
# use the function
polynomial(iv1 = man,iv2 = woman,dv = love,dataset = testData)