я пытаюсь сделать матричное умножение, выполняя анализ главных компонентов, и использую ggplot, чтобы показать результат
pca_model <- tbl(sc, "naflights") %>%
select(air_time, distance, dep_time) %>%
ml_pca()
print(pca_model)
# Explained variance:
#
# PC1 PC2 PC3
# 0.6975982637 0.3021978609 0.0002038754
#
# Rotation:
# PC1 PC2 PC3
# air_time -0.12514862 0.001940123 -0.9921361086
# distance -0.99200200 0.016312867 0.1251636066
# dep_time 0.01642742 0.999865054 -0.0001169274
D <- as.matrix(naflights[1:3])
E <- as.matrix(pca_model$components)
# Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), :
# 'data' must be of a vector type, was 'NULL'
я пробовал:
D <- as.matrix(flights[4, 15, 16])
E <- as.matrix(pca_model$components)
Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), :
'data' must be of a vector type, was 'NULL'
loadings_pca <- tidy(pca_model)
loadings_pca
# A tibble: 3 x 4
features PC1 PC2 PC3
<chr> <dbl> <dbl> <dbl>
1 air_time -0.125 0.00194 -0.992
2 distance -0.992 0.0163 0.125
3 dep_time 0.0164 1.000 -0.000117
E <- as.matrix(loadings_pca[2:4])
P <- D %*% E
Error in D %*% E : non-conformable arguments
mode(D)
[1] "numeric"
mode(E)
[1] "numeric"
Я пробовал этот подход, но все ещеполучение ошибки: несоответствующие аргументы.Кто-нибудь может помочь мне с этой проблемой?