2017-03-20 9 views
1

ggbiplotggfortify 패키지에서 사용하려고합니다. 정상적으로 작동하지만 다음과 같이 경고 메시지가 표시됩니다.경고 메시지가 ggfortify :: ggbiplot

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 

잘못된 단계를 밟았거나 버그입니까?

답변

1

ggbiplot 설명서에 따르면 label.label= 매개 변수에는 이름을 가져올 열 이름이 필요합니다. 이름의 벡터를 기대하지 않습니다. loadings.label.label=에 대해서도 마찬가지입니다. (ggplot 가장 tidyverse 기능은 매우 rownames을 좋아하지 않는다 - 더 나은 그들에게 적절한 열을 만들기 위해)

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") 
+0

감사합니다, 나는 첫 번째 행으로 행 이름을 추가 rowname_to_column' '와 같은 일을 시도 data.frame의. 그것이 문제가되는 곳입니다. – TheRimalaya