Я пытаюсь создать тепловую карту численности видов на шести участках.
У меня есть матрица сайтов против видов, числовые данные о численности.
Однако, когда я запускаю свой код, R возвращает ошибку, что моя матрица не числовая.
Кто-нибудь может понять это? Я в тупике.
Ссылка на экспортированный фрейм данных: log_mean_wide
Рабочая:
lrc <- rainbow(nrow(log_mean_wide), start = 0, end = .3)
lcc <- rainbow(ncol(log_mean_wide), start = 0, end = .3)
logmap <- heatmap(log_mean_wide, col = cm.colors(256), scale = "column",
RowSideColors = lrc, ColSideColors = lcc, margins = c(5, 10),
xlab = "species", ylab = "Site",
main = "heatmap(<Auckland Council MCI data 1999, habitat:bank>, ..., scale = \"column\")")
сообщение об ошибке: Ошибка в тепловой карте (log_mean_wide, Rowv = NA, Colv = NA, col = cm.colors (256),: 'x' должно быть числовой матрицей
log_heatmap <- heatmap(log_mean_wide, Rowv=NA, Colv=NA, col = cm.colors(256), scale="column", margins=c(5,10)) #same error
is.numeric(log_mean_wide) #[1] FALSE
is.character(log_mean_wide) #[1] FALSE
is.factor(log_mean_wide) #[1] FALSE
is.logical(log_mean_wide) #[1] FALSE
is.integer(log_mean_wide) #[1] FALSE
?!?!
dims <- dim(log_mean_wide)
log_mean_matrix <- as.numeric(log_mean_wide)
dim(log_mean_matrix) <- dims
Ошибка: (список) объект не может быть приведен к типу 'double'
str (log_mean_wide) показывает вид в числовом формате, сайт в виде символа - почему это тогда не работает?
storage.mode(log_mean_wide) <- "numeric"
Ошибка в storage.mode (log_mean_wide) <- "numeric": (список) объект не может быть приведен к типу 'double' </p>