- 已编辑
lavaan 报错说潜在变量的名称和观测变量名称有一致的情况。
你可以试试看
model <- 'IMAG =~ i1 + i2 + i3 + i4
...
LOY =~ l1 + l2
'
https://lavaan.ugent.be/tutorial/syntax1.html 里面有不少例子可以从这开始学习lavaan
lavaan 报错说潜在变量的名称和观测变量名称有一致的情况。
你可以试试看
model <- 'IMAG =~ i1 + i2 + i3 + i4
...
LOY =~ l1 + l2
'
https://lavaan.ugent.be/tutorial/syntax1.html 里面有不少例子可以从这开始学习lavaan
https://github.com/tidyverse/dplyr/issues/6545 应该修复了~ 尝试升级下tidyverse包
利用R6包,尝试构建了一个二叉树。构建完二叉树之后,想尝试寻找二叉树所有路径 ,并以向量的形式呈现所有二叉树路径。在递归之后,返回的向量值为NULL,但是使用cat ()函数可以正确显示路径。希望大家能帮我看看递归函数什么地方写的不对 。。
library(R6)
Node <- R6Class(
classname = "Node",
public = list(
var = NULL,
left = NULL,
right = NULL,
initialize = function(var = NULL, left = NULL, right = NULL){
self$var <- var
self$left <- left
self$right <- right
}
)
)
BST <- R6Class(
classname = "BST",
public = list(
root = NULL,
insert = function(data){
if(is.null(self$root)){
self$root <- Node$new(data)
}else{
self$insert_recur(data, self$root)
}
},
insert_recur = function(data, cur_node){
if(data < cur_node$var){
if(is.null(cur_node$left)){
cur_node$left <- Node$new(data)
}else{
self$insert_recur(data, cur_node$left)
}
}
else if(data > cur_node$var){
if(is.null(cur_node$right)){
cur_node$right <- Node$new(data)
}else{
self$insert_recur(data, cur_node$right)
}
}else{
print('value already in tree')
}
}
)
)
bst <- BST$new()
bst$insert(3)
bst$insert(6)
bst$insert(1)
bst$insert(2)
bst$insert(5)
bst$insert(7)
print_path <- function(cur_node, str, helper){
if(is.null(cur_node)){
return(NULL)
}
if(is.null(cur_node$right) & is.null(cur_node$left)){
helper <- c(helper, paste(str, cur_node$var))
cat(helper, "\n")
}else{
if(!is.null(cur_node$left)){
print_path(cur_node$left, paste(str, cur_node$var), helper)
}
if(!is.null(cur_node$right)){
print_path(cur_node$right,paste(str, cur_node$var), helper)
}
}
return(helper)
}
x <- print_path(bst$root, "", c())