R 中的意外 na 错误
Unexpected na error in R
(复活节快乐)
我一直在尝试在 R 中制定一个 PDDP 算法,并且在使用 princomp
函数时我将 运行 保持在一个单一的小错误中。这是错误声明:
Error in cov.wt(z) : 'x' must contain finite values only
根据一些粗略的研究,只要 princomp
函数中的数据中存在 NA 或未定义的值,就会出现此错误。但是,我使用的数据(维基百科的虹膜数据)中没有 NA。这是包含 princomp
的代码行:
pr <- princomp(data[iIndexes,], scores = TRUE, na.action = na.exclude)
根据我的研究,我被告知标准 na.action
值 (na.omit) 目前存在漏洞,因此建议我改用 na.exclude。我还被建议包含一个函数作为第一个参数,但这也没有改变错误消息。
这是我得到该信息的地方:Omit NA and data imputation before doing PCA analysis using R
如果您需要上下文中的其余代码,请告诉我。
谢谢
编辑:根据要求,这里是dput(data[iIndexes,])
的输出:
structure(c(36L, 19L, 10L, 6L, 32L, 52L, 8L, 28L, 2L, 20L, ...), .Label =
c("4.3,3,1.1,0.1", "4.4,2.9,1.4,0.2", "4.4,3,1.3,0.2", "4.4,3.2,1.3,0.2", ...),
class = "factor")
椭圆是与其余部分相似的进一步数据集,每组 150 个样本。
你 运行 没有 class = "factor"
参数的代码 pr
将 return 正确。
这对我有用:
a = c(36L, 19L, 10L, 6L, 32L, 52L, 8L, 28L, 2L, 20L)
b = c("stringa", "stringb")
data = structure(a, .Label = b)
pr <- princomp(data, scores = TRUE, na.action = na.exclude)
pr
pr
returns:
Call:
princomp(x = data, scores = TRUE, na.action = na.exclude)
Standard deviations:
Comp.1
14.95359
1 variables and 10 observations.
解决方案
取消数据分类:
tempVar <- unclass(data[iIndexes,])
和运行 tempVar
上的代码
(复活节快乐)
我一直在尝试在 R 中制定一个 PDDP 算法,并且在使用 princomp
函数时我将 运行 保持在一个单一的小错误中。这是错误声明:
Error in cov.wt(z) : 'x' must contain finite values only
根据一些粗略的研究,只要 princomp
函数中的数据中存在 NA 或未定义的值,就会出现此错误。但是,我使用的数据(维基百科的虹膜数据)中没有 NA。这是包含 princomp
的代码行:
pr <- princomp(data[iIndexes,], scores = TRUE, na.action = na.exclude)
根据我的研究,我被告知标准 na.action
值 (na.omit) 目前存在漏洞,因此建议我改用 na.exclude。我还被建议包含一个函数作为第一个参数,但这也没有改变错误消息。
这是我得到该信息的地方:Omit NA and data imputation before doing PCA analysis using R
如果您需要上下文中的其余代码,请告诉我。 谢谢
编辑:根据要求,这里是dput(data[iIndexes,])
的输出:
structure(c(36L, 19L, 10L, 6L, 32L, 52L, 8L, 28L, 2L, 20L, ...), .Label =
c("4.3,3,1.1,0.1", "4.4,2.9,1.4,0.2", "4.4,3,1.3,0.2", "4.4,3.2,1.3,0.2", ...),
class = "factor")
椭圆是与其余部分相似的进一步数据集,每组 150 个样本。
你 运行 没有 class = "factor"
参数的代码 pr
将 return 正确。
这对我有用:
a = c(36L, 19L, 10L, 6L, 32L, 52L, 8L, 28L, 2L, 20L)
b = c("stringa", "stringb")
data = structure(a, .Label = b)
pr <- princomp(data, scores = TRUE, na.action = na.exclude)
pr
pr
returns:
Call:
princomp(x = data, scores = TRUE, na.action = na.exclude)
Standard deviations:
Comp.1
14.95359
1 variables and 10 observations.
解决方案
取消数据分类:
tempVar <- unclass(data[iIndexes,])
和运行 tempVar
上的代码