【发布时间】:2020-12-26 05:52:21
【问题描述】:
我必须首先声明我不是R用户,但我想应用我只能在R中找到的某个功能。
我的目的是使用 Psych 包中的 omega 函数获得双因子因子分析模型。我有一个包含 33 列和大约 100,000 个观察值的数据框,当我调用函数 (omega(df))
我收到以下错误:
nchar(tv[1, 21]) 中的错误:'nchar()' 需要字符向量
我不知道这意味着什么。如果我按照this doc 中的示例使用他们的数据(名为“bifact”),它可以正常工作,但是该示例使用相关矩阵,而我想使用整个数据来提取因子分数。当我尝试使用omega(cor(df)) 调用该函数时
我仍然遇到同样的错误。
附件是随机生成的数据集,会产生相同的错误。 任何帮助将不胜感激。
解决方案的一个线索可能是使用 set.seed(0) 我得到的错误与使用 set.seed(100) 不同:
set.seed(100)
s_df = as.data.frame(cbind(matrix(seq_len(10000), ncol=1), matrix(rnorm(n=6*10000, mean = 20, sd = 10), ncol=6)))[2:7]
omega(s_df)
nchar(tv[1, 21]) 中的错误:'nchar()' 需要字符向量
同时:
set.seed(0)
s_df = as.data.frame(cbind(matrix(seq_len(10000), ncol=1), matrix(rnorm(n=6*10000, mean = 20, sd = 10), ncol=6)))[2:7]
omega(s_df)
omega.diagram 中的错误(omega,main = 标题,sl = sl,标签 = 标签,: 找不到对象“d.arrow”
编辑:当我使用 plot=FALSE 调用函数时,一切正常。 但是,我仍然希望情节能够奏效。 (plot=TRUE) 通过不需要的错误。
【问题讨论】:
-
如果你只运行
cor(df)会发生什么?你有错误吗?矩阵是否包含 NA? -
它运行得很好,没有 NAs
-
如果您可以使用数据的子集(然后发布数据)复制问题,您可以发布,那将很有用。
-
谢谢,我附上了一个随机数据集,它会产生同样的问题。