Как сопоставить элементы списка с именами матрицы в R

Я написал небольшой скрипт для применения вывода diff для repo diff https://github.com/raghakh/android-dev-scripts/commit/a57dcba727d271bf2116f981392b0dcbb22734d0

1
задан Hector Haffenden 19 March 2019 в 10:59
поделиться

3 ответа

Вы можете попробовать следующее:

names.vec = sapply(mapping, unlist)[2,]
> names.vec
[1] "bob"       "alice"     "mark"      "simon"     "jeff"      "alexander"

Затем назначьте их как имена столбцов вашей матрицы

colnames(my_matrix) = names.vec

, используя первые 6 записей данных вашего примера:

[ 112]
0
ответ дан NM_ 19 March 2019 в 10:59
поделиться

Вы можете получить числа для индексов, поместить их в вектор и сделать то же самое с именами, а затем поместить их в имена матрицы, например:

inds <- as.numeric(lapply(mapping,function(x)x[1]))
nms <- lapply(mapping,function(x)x[2]) #unlist it if you need to
colnames(my_matrix)[inds] <- nms
0
ответ дан guilherme santos 19 March 2019 в 10:59
поделиться

@akrun правильно ответил на этот вопрос в комментариях. Код:

m1 <- do.call(rbind, mapping); colnames(my_matrix)[as.numeric(m1[,1])] <- m1[,2]
0
ответ дан Moogah 19 March 2019 в 10:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: