Моя проблема заключается в следующем: у меня есть список data.frames и я создаю матрицу расстояний для каждого data.frame. Затем я хочу извлечь минимальное расстояние для каждой строки и имя соответствующего столбца. Я знаю, как сделать первое, но не второе. Я (надеюсь), это легко исправить, но я не могу обернуть голову вокруг этого. Вот моя попытка:
#create list of matrices
A = matrix(c(5, 4, 2, 1, 5, 7), nrow=3, ncol=3, byrow = TRUE)
B = matrix(c(2, 5, 10, 9, 8, 7), nrow=3, ncol=3, byrow = TRUE)
list.matrix <- list(A,B)
#create names
column.names <- c("A", "B", "C")
df = data.frame(column.names)
#name rows
list.matrix<-lapply(list.matrix, function(x){colnames(x)<- as.character(df$column.names); x})
#Then I can get the smallest value by row
min.list.value <- lapply(list.matrix, function(x) apply(x, 1, min)) #smallest value per row
min.list.row <- lapply(list.matrix, function(x) (max.col(-x))) #column index of smallest value
#But how do I get the colname of the row with the smallest value??
#Something like this, which does not work (obviously)
min.list.colname <- lapply(list.matrix, function(x) apply(x, 1, colnames(min))) #smallest value per row
Спасибо.