如何正确地将struc
转换为矩阵,以便我可以在其上运行以下行?
我的输入是数据框scaled_data
library('psych')
res<-fa(r=cor(scaled_data), nfactors=26, rotate="promax", SMC=FALSE, fm="minres")
struc <- as.matrix(res$Structure)
struc2 <- ifelse(struc <= 0.7, NA, struc)
class(struc)
# [1] "loadings"
class(struc2)
# [1] "matrix"
更多上下文我试图在其上运行这些行。 struc2工作得很好,但是有NA(我预期的)并且我试图没有。
#create individual person scores for all factors
###################################################
temp<-cbind(scaled_data, apply(struc, 2, function(x) rowMeans(scaled_data[,!is.na(x),drop=FALSE])))
start_subscales<-length(grep("^[a-z]",colnames(temp)))+1
subscale_scores<-temp[,start_subscales:ncol(temp)] #get only v1...v22 scores
答案 0 :(得分:2)
“matrix”是一个隐式类,因此如果一个对象定义了一个显式类,它就不会显示出来:
x <- matrix(1:9, 3)
class(x) <- "boogey"
class(x)
# [1] "boogey"
is.matrix(x)
# [1] TRUE
class(x) <- NULL
class(x)
# [1] "matrix"