nsprcomp():在R

时间:2018-09-25 15:29:06

标签: r pca

我的目标是对数据使用nsprcopm()版本0.5.1.2 )进行非负 PCA,并提取PC的值。我在 R 3.5.0版中按如下方式进行操作:

nnpca <- nsprcomp(mydata[,10:16], center = T, scale. = T, nneg = T)

关键是我需要强制执行非负性(因为在下一步中,我将使用glm(..., family = Gamma()),而glm不会接受Gamma的负值)

问题是nsprcopm()为PC产生负值。这是nnpca$x的快照: enter image description here

有什么想法吗?!这是nsprcomp()的错误还是什么?我想念什么吗?!

1 个答案:

答案 0 :(得分:0)

我找到了这个问题,如果有人遇到类似的问题,请把它放在这里以供将来参考:

问题来自参数df %>% filter(., ave(seq_len(nrow(.)), dob, lname, FUN = length) > 1) 。当center = T时,True尝试移动所有PC,使其位于坐标中心附近。这将不可避免地使某些PC变成负数(即使原始值是正数)。

nsprcomp

可以克服