TheRimalaya
TheRimalaya

Reputation: 4592

Warning message from ggfortify::ggbiplot

I am trying to use ggbiplotfrom ggfortify package. It seems its working fine but I am getting warning message as follows,

mdl <- pls::plsr(mpg ~ ., data = mtcars, scale = T)
scrs <- data.frame(pls::scores(mdl)[])
loads <- data.frame(pls::loadings(mdl)[])

ggfortify::ggbiplot(scrs, loads, 
  label.label = rownames(scrs), asp = 1, label = T, label.size = 3,
  loadings = T, loadings.label = T, loadings.label.label = rownames(loads))

Warning messages:
1: In if (value %in% columns) { :
  the condition has length > 1 and only the first element will be used
2: In if (value %in% columns) { :
  the condition has length > 1 and only the first element will be used

Have I taken any wrong step or is it a bug.

Upvotes: 1

Views: 303

Answers (1)

MrFlick
MrFlick

Reputation: 206391

According to the ggbiplot documentation, the label.label= parameter expects the column names from which to pull the names; it does not expect a vector of names. Same goes for loadings.label.label=. (ggplot and most tidyverse functions don't like rownames very much -- better to make them a proper column)

scrs$ID <- rownames(scrs)
loads$ID <- rownames(loads)
ggfortify::ggbiplot(scrs, loads, 
  label.label = "ID", asp = 1, label = T, label.size = 3,
  loadings = T, loadings.label = T, loadings.label.label = "ID")

Upvotes: 1

Related Questions