2011-11-11 11 views
20

Ho domanda pratica relativa sequenza e each:rep() con ciascuna uguale un vettore

vect1 <- c(4, 5, 10, 3, 1) 

voglio replicare con il vettore come ogni tale primo numero è replicata 4, secondo 5, terzo 10, quarto 3 e quinta uguale 1.

rep(1:5, each = vect1) 
[1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 
Warning message: 
In rep(1:5, each = vect1) : first element used of 'each' argument 

rep(1:5, each = c(4, 5, 10, 3, 1)) 

    [1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 
    Warning message: 
    In rep(1:5, each = c(4, 5, 10, 3, 1)) : 
     first element used of 'each' argument 

So che questo è un uso improprio di ciascuno.

+2

'rep (vect1, vect1)' dà una bella occhiata. –

risposta

17
rep(1:5, vect1) 

Se avete domande su come lavorare funzioni R, provare

?function 

dove "funzione" è qualunque funzione che si desidera conoscere. Da ?rep avreste letto:

'volte' Un vettore intero che fornisce il numero (non negativo) di ripetizioni ogni elemento, se di lunghezza lunghezza (x), o per ripetere l'intero vettore se di lunghezza 1. I valori negativi o NA sono un errore.

+0

grazie Rguy per l'aiuto, sono poco dietro a capire il linguaggio R e la programmazione ... spesso intrappolati in problemi semplici ... – jon

-3

vect1 < - c (4, 5, 10, 3, 1) rep (vect1, vect1)

+1

Questa domanda ha già una risposta. Questo è semplicemente ripetere ciò che Rguy ha detto, ma hai semplicemente usato un vettore diverso in 'rep'. Nel tuo caso, è di nuovo 'vect1'. – rayryeng

+0

Ray senza correzione, ho aggiunto rep (vect1, vect1) che dà una bella occhiata a ciò che Richard ha commentato dopo, per favore controlla – minhaj

+2

Non vedo come questo sia diverso dalla risposta di Rguy ... e il fatto che ti ci sia voluto quasi 2 anni per rispondere di nuovo mi dicono che non ti interessa davvero. – rayryeng

Problemi correlati