3

I am trying to use featurePlot of caret in R.

This is the code I am using:

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

where all the columns of df[, 3:6]are of numeric type, while df$ud is a binary factor.

I also have installed the library ellipse as suggested elsewhere.

However, I keep getting NULL.

Any idea why?

Vitomir
  • 163
  • 1
  • 4

3 Answers3

4

I had this problem due to my y variable not being a factor which is required. call:

typeof(df$ud)

make sure it is not interpreting the binary as character or numeric but indeed ad a factor.

Collin
  • 41
  • 3
1

I have the same problem with my dataset. The issue was with my character column. For using featurePlot you have to pass only numeric and factor as you independent variables and dependent variable. You can use str() function to check your dataframe and then use as.factor() in order to change character to factor.

For example: the Purchase variable in my dataframe was in character type so I use below code to change it into factor type.

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

after that featurePlot worked fine.

Ethan
  • 1,633
  • 9
  • 24
  • 39
rez
  • 63
  • 5
1

I had the same issue and I fixed it by converting the Y variable to a factor. Add as.factor() to your Y variable. So your code should look like:

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