我正在尝试使用来自ggbiplot包的ggfortify。它看起来很好,但我收到了如下警告信息,
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我是否走错了一步,或者是一个错误。
发布于 2017-03-20 20:42:12
根据ggbiplot文档,label.label=参数期望从其中提取列名;它不需要名称向量。loadings.label.label=也是如此。(ggplot和大多数tidyverse函数都不太喜欢行名--最好是将它们作为一个适当的列)
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")https://stackoverflow.com/questions/42913023
复制相似问题