У меня есть именованный вектор (скажем n) с именами как последовательные целые числа от 1 до 25000, а также значения, связанные с ним, и другой меньший вектор (например, m), похожий на " n ", с 21399 элементами, с именами, начинающимися с 1 и заканчивающимися на 25000.Как добавить именованные элементы в вектор в R
Я хочу добавить именованные элементы в вектор« m »для отсутствующих имен и присвоить им значение 0.
Я сделал это, создав два кадра данных с именами и значениями в качестве двух столбцов для обоих, а затем выполнив левое соединение, но есть ли какие-либо более эффективные способы его выполнения?
Гораздо меньше пример:
> n=c("1"=3,"2"=5,"3"=2,"4"=9,"5"=8)
> n
1 2 3 4 5
3 5 2 9 8
> m=c("1"=9,"2"=7,"5"=2)
> m
1 2 5
9 7 2
Я хочу, чтобы мой последний "м", чтобы быть:
> m
1 2 3 4 5
9 7 0 0 2
Что я сделал:
> x=data.frame("p"=names(n),n)
> y=data.frame("p"=names(m),m)
> join(x,y,by="p")
p n m
1 1 3 9
2 2 5 7
3 3 2 0
4 4 9 0
5 5 8 2
Пожалуйста, добавьте пример [воспроизводимый] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), чтобы люди могли вам помочь. –
Как связаны 'n' и' m'? Вы в основном хотите, чтобы вся потерянная последовательность имен со значением 0. –
«n» и «m» имеют одинаковый диапазон имен –