varsayalım böyle bir vektör vardır:R vektörü operasyon, desen arasındaki insert değeri
[1] 0 1 0 0 0 0 0 -1 0 1 0 0 -1 0 0 1 -1
Ve böyle bu vektör açmak istiyorum:
[1] 0 100 100 100 100 100 100 100 0 101 101 101 101 0 0 102 102
sadece arasında bir değer eklemek [1, -1] ve indeks ile artar.
Bunu döngü kullanmadan nasıl alabilirim?
a = c(0,1,0,0,0,0,0,-1,0,1,0,0,-1,0,0,1,-1)
Merhaba, nicola, Harika! Ama bütün bunları anlayamıyorum, kodunuzun ikinci kısmı hakkında daha fazla bilgi verebilir misiniz, bu nedir? * '[<-' (sayısal (uzunluk (a)), liste dışı (Harita (': ', hangi (a == 1), hangi (a == - 1))), 1) 'anlam? – jjdblast
çift temel olarak – baptiste
zanaat, 'sayısal (uzunluk (a))' 0'ların bir vektörünü oluşturur; 'Harita (": "), bu konumlarda 1'ler atamak için kullanılan ardışık indekslerin tüm sıralarını oluşturur (' [<- (x, i, 1) '' x [i] <- 1'). Ve elde edilen boolean vektör '(cumsum (a == 1) +99)' yoluyla elde edilen 99-102 yeni değerleri filtrelemek için kullanılır. – baptiste