Skip to content
Prev 12710 / 15379 Next

[R-es] Completar un for, que falla al faltarle algún dato.

Estimado Juan Abasolo

Creo que no es problema de R, es de su lógica porque se confundió al
explicarnos, le explico en sus datos:

Si realizo en mi computadora escribo lo siguiente a partir de su código:
 for (j in J){
    sdf <- subset(df.raw, df.raw$Ques==j)
    for(k in K){
      x <- sdf[which(sdf$Info==k), "Answ"]
      df.ok[k,j] <- as.character(x)
    }
  }

  for (j in J){
    sdf <- subset(df.raw1, df.raw1$Ques==j)
    for(k in K){
      x <- sdf[which(sdf$Info==k), "Answ"]
      df.ok[k,j] <- as.character(x)
    }
  }

Obtengo estos resultados:

df.raw  Ques Info  Answ
1   Q1  aca  casa
2   Q1  ahi  bulo
3   Q1 alla hogar
4   Q2  aca  mama
5   Q2  ahi  mami
6   Q2 alla vieja
7   Q3  aca perro
8   Q3  ahi   can
9   Q3 alla  rope> df.raw1  Ques Info  Answ
1   Q1  aca  casa
3   Q1 alla hogar
4   Q2  aca  mama
5   Q2  ahi  mami
6   Q2 alla vieja
7   Q3  aca perro
8   Q3  ahi   can
9   Q3 alla  rope


Ahora observe en df.raw1, en el "indice 2", no lo encontrará porque pasa de
1 a 3, usted al querer explicarnos su problema ha eliminado el valor al
ordenar
df.raw1 <- df.raw[-2,]

La ayuda de Carlos Ortega es correcta, pero posiblemente si los datos son
reales y no inventados en código como en su ejemplo, ese error lógico no
aparece porque serían NA.

Javier Rubén Marcuzzi

El sáb., 7 jul. 2018 a las 20:54, Carlos Ortega (<cof en qualityexcellence.es>)
escribió: