Ведение отдельных имен матриц из списка в R - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть набор из 94 матриц в списке в R. Каждая матрица имеет разный размер; Пример показан ниже:

 > summary(full_matrix)
            Length Class  Mode   
 Alex_1         64 -none- numeric
 Alex_10      2500 -none- numeric
 Alex_11      2916 -none- numeric
 Alex_12     20736 -none- numeric
 Alex_13     28900 -none- numeric
 Alex_14     62500 -none- numeric
 Alex_15     93025 -none- numeric
 Alex_2        100 -none- numeric
 Alex_3         25 -none- numeric
 Alex_4       1225 -none- numeric
 Alex_5       2304 -none- numeric
 Alex_6       1849 -none- numeric

Я хочу извлечь данные из каждой матрицы, используя lapply(). Я выполняю кластерный анализ для каждой матрицы, который генерирует подмножество кластеров для каждой. Я могу сделать это, используя следующий код:

 library(pvclust)

 clustering_data <- lapply(full_matrix, FUN = function(element) {
   result <- pvclust(element, method.dist="cor", method.hclust="average", nboot=1000, parallel=TRUE)
   output <- pvpick(result, alpha=0.95, pv="au", type="geq", max.only=TRUE)
   })

Для clustering_data[[1]], например, это дает мне:

 > clustering_data[[1]]
 $clusters
 $clusters[[1]]
 [1] "bah"   "hello" "huh"   "ooh"   "wee"   "woo"  

 $edges
 [1] 5

Проблема в том, что мне нужно иметь возможность определить имя исходной матрицы (Alex_1, Alex_2, et c), из которой генерируется кластер, и я не могу понять, как это сделать. Я сделал это для предыдущей функции lapply(), используя df %>% split(., f = .$var1), но я не могу понять это, когда объект находится в списке.

1 Ответ

0 голосов
/ 25 апреля 2020

Вы должны уже иметь вывод в names из clustering_data. Проверить:

names(clustering_data)

или

clustering_data[1]
...