Я не очень разбираюсь в R. У меня есть файл .txt с корреляционной матрицей, которая была ранее создана из длинных записей.
текст в файле выглядит примерно так:
"15075060" "15085030" "15085040"
"15075060" 1 0.441716695007761 0.433807683928689
"15085030" 0.441716695007761 1 0.477591938543259
"15085040" 0.433807683928689 0.477591938543259 1
Это типичный пример, потому что реальная матрица намного больше. Числа в кавычках являются источниками, которые были коррелированы.
Я читаю данные, используя read.table для создания фрейма данных, а затем преобразую его в матрицу (называемую matto) с помощью:
mattox =matrix(as.numeric(unlist(matto)),nrow=nrow(matto))
и я получаю такую матрицу:
>mattox
[,1] [,2] [,3]
[1,] 1.0000000 0.4417167 0.4338077
[2,] 0.4417167 1.0000000 0.4775919
[3,] 0.4338077 0.4775919 1.0000000
как вариант 2, если я преобразую его в матрицу, используя:
as.matrix(sapply(matto, as.numeric))
тогда я получаю матрицу, подобную этой:
> matto
X.15075060 X.15085030 X.15085040
15075060 1.0000000 0.4417167 0.4338077
15085030 0.4417167 1.0000000 0.4775919
15085040 0.4338077 0.4775919 1.0000000
хотя я не знаю, почему я получаю эти X перед числами в заголовках столбцов
когда я пытаюсь построить эту корреляцию, используя функцию corrplot, я получаю что-то вроде этого для матрицы mattox:
corrplot(mattox, type="upper")
но проблема в том, что я не вижу здесь названия заголовков столбцов и строк (числа в кавычках из файла .txt). А для другой матрицы (matto) я получаю ошибку, когда пытаюсь использовать corrplot, ошибка говорит:
Error in matrix(if (is.null(value)) logical() else value, nrow = nr, dimnames = list(rn, :
length of 'dimnames' [2] not equal to array extent
Я хотел бы получить графику, похожую на ту, которую я получил, но с именами столбцов и строк вместо цифр 1,2,3 ...
что-то вроде следующего графика, который я нашел онлайн для другого случая:
![enter image description here](https://i.stack.imgur.com/s2jUo.png)
как я могу это исправить?