Выберите данные по количеству появлений - PullRequest
1 голос
/ 20 января 2012

Если у меня есть вектор c(2, 1, 0), где сумма вектора всегда равна длине вектора, могу ли я выбрать данные из другого вектора таким образом, чтобы я получил 2 из первого элемента1 из второго элемента, а не из третьего элемента?В целом, для векторов a и index, где sum(index) == length(index) я бы получил index[i] число a[i].

Надеюсь, это было достаточно ясно, но это довольно запутанно в моей голове.Я могу реализовать это с помощью циклов, но я бы хотел векторное решение.

Спасибо!

1 Ответ

2 голосов
/ 20 января 2012
 rep(letters[1:3], c(2, 1, 0))
#[1] "a" "a" "b"

Могу добавить, что свойство, которое sum(index) == length(index) не применяется.Это будет то, за что ваш процесс построения «индекса» остается ответственным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...