gpt4 book ai didi

R cor.test : "not enough finite observations"

转载 作者:行者123 更新时间:2023-12-04 17:09:39 24 4
gpt4 key购买 nike

我目前正在尝试创建一个 R 函数来计算指定列与数据帧的所有数字列的 corr.test 相关性。这是我的代码:

#function returning only numeric columns
only_num <- function(dataframe)
{
nums <- sapply(dataframe, is.numeric)
dataframe[ , nums]
}

#function returning a one-variable function computing the cor.test correlation of the variable
#with the specified column

function_generator <- function(column)
{
function(x)
{
cor.test(x, column, na.action = na.omit)
}
}

data_analysis <- function(dataframe, column)
{
DF <- only_num(dataframe)

fonction_corr <- function_generator(column)

sapply(DF, fonction_corr)

}

data_analysis(40, 6, m, DF$Morphine)

当我在最后一行调用“data_analysis”时,出现以下错误:

“cor.test.default(x, column, na.action=na.omit) 中的错误:
没有足够的有限观察"

这意味着什么?我应该改变什么?我有点卡住了...

谢谢。

克莱门特

最佳答案

“没有足够的有限观察”是 cor.test 在某些情况下返回的错误。如果你看一下 cor.test.default 源代码,你会看到:

OK <- complete.cases(x, y)
x <- x[OK]
y <- y[OK]
n <- length(x)

cor.test 从你的向量中删除 NA 值
[...]
if (method = "pearson") {
if (n < 3L)
stop("not enough finite obervations")

[...]
else {
if (n<2)
stop("not enough finite obervations")

如果您的向量不包含足够的非 NA 值(小于 3),该函数将返回错误。

在使用 cor.test 之前,让数据框中的所有列都包含足够的非 NA 值。

我希望这会很有用。

关于R cor.test : "not enough finite observations",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24659183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com