【发布时间】:2020-12-25 02:56:11
【问题描述】:
我正在尝试将以下函数转换为对管道友好的函数。但它是由字符串组成的。我不知道从哪里开始。
library(MplusAutomation)
pathmodel <- mplusObject(
TITLE = "MplusAutomation Example - Path Model;",
MODEL = "
mpg ON hp;
wt by disp drat;",
OUTPUT = "CINTERVAL;",
rdata = mtcars)
我已经尝试过这种格式,但我不确定哪个不起作用,我不确定如何创建它以便它与管道一起使用。
mplus <- function(data, title, on, by, output) {
mplusObject(TITLE = as.character(title),
MODEL = paste(on, "/n", by),
OUTPUT = as.character(output),
rdata = data)
}
这就是我最终要达到的目标。
mplus %>%
data(mtcars) %>%
title("example - path model") %>%
predictors("mpg on hp") %>%
latentvars("wt by disp drat") %>%
output(cinterval)
【问题讨论】:
-
键入
pathmodel返回>Error in summary.mplusObject(x) : isFALSE(is.null(object$results)) is not TRUE。管道用于以有序的方式链接多个功能。没有名为on、output等的函数供您使用。这些只是 1 个函数的参数,即mplusObject。您不能通过管道传递参数。 -
我明白了。我编辑了预期的代码以允许直接引用。对于管道参数,我是否应该创建可以一起使用的新函数。如果是这样,那会是什么样子。即使不是整个解决方案,即使是一个简单的建议也会有所帮助。