为什么 Caret featurePlot 返回返回 NULL?

数据挖掘 r
2021-09-28 03:12:27

我正在尝试在 R中使用featurePlotcaret

这是我正在使用的代码:

trellis.par.set(theme = col.whitebg(), warn = FALSE) 
caret::featurePlot(x = df[, 3:6], 
            y = df$ud, 
            plot = "scatter")

其中 的所有列df[, 3:6]都是数字类型,而df$ud是二进制因子。

我还ellipse按照其他地方的建议安装了该库。

但是,我不断得到NULL.

知道为什么吗?

3个回答

由于我的 y 变量不是必需的因素,我遇到了这个问题。称呼:

typeof(df$ud)

确保它没有将二进制解释为字符或数字,但确实是一个因素。

我的数据集也有同样的问题。问题出在我的角色栏上。要使用 featurePlot,您必须只传递数字和因子作为自变量和因变量。您可以使用str()函数来检查您的数据框,然后使用as.factor()以将字符更改为因子。

例如:我的数据框中的Purchase变量是字符类型,所以我使用下面的代码将其更改为因子类型。

traindata$Purchase <- as.factor(traindata$Purchase) 

之后 featurePlot 工作正常。

我有同样的问题,我通过将Y变量转换为因子来修复它。添加as.factor()到您的Y变量中。所以你的代码应该是这样的:

trellis.par.set(theme = col.whitebg(), warn = FALSE) 
caret::featurePlot(x = df[, 3:6], 
            y = as.factor(df$ud), 
            plot = "scatter")