R вызвать группу столбцов по списку индексов - PullRequest
0 голосов
/ 28 августа 2018

Я изо всех сил присваиваю значения матрице. У меня индекс хранится в списке loc_x, который представляет собой список целых чисел. И я пытаюсь присвоить номера матрице Nas, по столбцам, индексированным loc_x. скажем loc_x = [1 2 3 5], как мне присвоить 1 Nas[1,] для столбцов [1,2,3,5]?

Я попытался Nas[1,c(loc_x)] = 1 или преобразовал loc_x в матрицу или массив, но не смог .. И я попытался поставить запятые в loc_x, но также не смог .. Я знаю, что это может быть сделано для цикла for, но мой набор данных большой, поэтому я хочу знать, есть ли эффективный способ сделать это X. Спасибо за любую помощь!

1 Ответ

0 голосов
/ 28 августа 2018

Это то, что вы ищете?

Nas <- matrix(0, ncol = 5, nrow = 2)

loc_x = c(1, 2, 3, 5)

Nas[1, loc_x] <- 1
Nas
#[,1] [,2] [,3] [,4] [,5]
#[1,]    1    1    1    0    1
#[2,]    0    0    0    0    0

Объяснение: Перед индексированием элементов Nas мы инициализируем matrix с data = 0 и ncol и nrow. Вам необходимо настроить значения ncol и nrow в соответствии с вашей конкретной ситуацией.


Если loc_x является list, вы можете использовать unlist

loc_x <- list(1, 2, 3, 5)
Nas[1, unlist(loc_x)] <- 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...