L'obiettivo è controllare se il valore di indice i è 1 e quindi apportare le precedenti sei voci come 1.Come costruire questa variabile binaria in R?
x <- c(0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1)
## Required output
y <- c(1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1)
## Attempt
for(j in seq_along(x)){
if(x[j] == 1){
for(i in (j-6):j)
x[i] = 1
}}
Potrebbe aiutare a risolvere questo o meglio approccio?
Grazie.
Grazie per la risposta. Potresti spiegare perché il mio ciclo stava restituendo il vettore y come tutti gli 1. Perché ho bisogno di un dataframe qui? – Anusha
Non si stava correggendo se j-6 era inferiore a 1. Anche data.frame è più facile da lavorare. – rnso
+1. Sarebbe possibile metterlo in una funzione e poi usare apply? È solo curioso di sapere come si definirebbe la parola sapply o lapply per questo ciclo. – Anusha