R Funktion selber schreiben->;适度分析

R Funktion selber schreiben->;适度分析,r,function,output,R,Function,Output,我试图在R中创建我的第一个函数来计算适度分析。 但现在有一个我无法解决的问题:/ 当我运行我的函数时,我没有得到任何输出。。 我还尝试了print()和return(),得到了相同的结果。 有什么建议吗 Moderation <- function(Mod, UV, AV) { meanUV <- mean(UV, na.rm = TRUE) sdUV <- sd(UV, na.rm = TRUE) ZUV <-((UV - meanUV)/sdUV) meanMod

我试图在R中创建我的第一个函数来计算适度分析。 但现在有一个我无法解决的问题:/ 当我运行我的函数时,我没有得到任何输出。。 我还尝试了print()和return(),得到了相同的结果。 有什么建议吗

Moderation <- function(Mod, UV, AV) {
meanUV <- mean(UV, na.rm = TRUE)
sdUV <- sd(UV, na.rm = TRUE)
ZUV <-((UV - meanUV)/sdUV)

meanMod <- mean(Mod, na.rm = TRUE)
sdMod <- sd(Mod, na.rm = TRUE)
ZMod <- (Mod - meanMod)/sdMod

Interaktion <- ZUV*ZAV
Moderation.fit <- 'AV ~ ZUV + ZMod + Interaktion'
summary(sem(model = Moderation.fit, data = MyData, meanstructure = TRUE))
}

Moderation(MyData$SKK, MyData$ZDT2, MyData$HO4)

Moderation函数中的问题是,即使未将此数据集传递给函数,也会在最后一行中引用
MyData
。实际上,该函数确实会查看您的全局环境,并在其中找到
MyData
。但是此版本的
MyData
中不包括您的z评分变量和
Interaktion
,因此函数报告一个关于“数据集中缺少变量”的错误

它适用于以下更改:

Moderation <- function(Mod, UV, AV) {
  require(lavaan) #This ensures the function works even if you did not do library(lavaan) first.
  ZMod <- scale(Mod) #I simplified stuff here. The "scale" function is equivalent to what you did.
  ZUV <- scale(UV)
  Interaktion <- ZUV*ZMod
  MyData <- as.data.frame(list(ZMod=ZMod, ZUV=ZUV, AV=AV, Interaktion=Interaktion)) #Here, MyData is generated so that you can use it further below
  Moderation.fit <- 'AV ~ ZUV + ZMod + Interaktion' #nothing changed here
  summary(sem(model = Moderation.fit, data = MyData, meanstructure = TRUE))
}

我的天哪

欢迎来到stackoverflow。为了确保尽可能多的人可以帮助你,请用英语发布。你能添加一些可复制的数据以便我们可以运行你的代码吗?我们缺少
MyData
哪里定义了
ZAV
data(mtcars)
Moderation(mtcars$am, mtcars$hp, mtcars$mpg)

##lavaan 0.6-7 ended normally after 28 iterations
##
##  Estimator                                         ML
##  Optimization method                           NLMINB
##  Number of free parameters                          5
##                                                      
##  Number of observations                            32
##                                                      
##Model Test User Model:
##                                                      
##  Test statistic                                 0.000
##  Degrees of freedom                                 0
##
##Parameter Estimates:
##
##  Standard errors                             Standard
##  Information                                 Expected
##  Information saturated (h1) model          Structured
##
##Regressions:
##                   Estimate  Std.Err  z-value  P(>|z|)
##  AV ~                                                
##    ZUV              -4.043    0.560   -7.225    0.000
##    ZMod              2.633    0.513    5.134    0.000
##    Interaktion       0.014    0.527    0.026    0.979
##
##Intercepts:
##                   Estimate  Std.Err  z-value  P(>|z|)
##   .AV               20.094    0.505   39.785    0.000
##
##Variances:
##                   Estimate  Std.Err  z-value  P(>|z|)
##   .AV                7.670    1.917    4.000    0.000