铸造到矩阵显然没有效果

时间:2015-06-06 01:33:49

标签: r

如何正确地将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

1 个答案:

答案 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"