Hola,
mi idea es la siguiente:
Tengo una base de datos de cientos de casos y quiero aplicar un test estadístico a una muestra de 100 casos tomadas aleatoriamente. Del resultado de ese test obtendré un p-value.
Esta misma operación la quiero hacer 50 veces y quiero que se guarde en un vector cada uno de los p-values que vaya obteniendo.
Todo lo tengo más o menos claro como hacerlo pero no saber cómo puedo crear ese nuevo vector de p-values (una nueva variable).
El bucle lo haría con un "for" pero, alguien me podría decir la línea o expresión para que cada uno de los p-values vaya ocupando una posición en la nueva variable?
Espero haberme explicado
gracias
antes del for, crea una vector
p.values=NULL
NUll, te permite crear un vector sin dimensión, a medida que lo vas llenando se agranda.
ahora, dentro del for, me imagino que tu indice es i in 1:50 (por ejemplo)
entonces... supongamos que le llamaste "p" a tus p valores en tu test... entonces, así lo vas guardando:
p.values[i]=p
eso es.
Ahora, si no sabes cómo obtener el p valor de tu test, una pista sería esto: p=test$p.value
p.values=NULL
NUll, te permite crear un vector sin dimensión, a medida que lo vas llenando se agranda.
ahora, dentro del for, me imagino que tu indice es i in 1:50 (por ejemplo)
entonces... supongamos que le llamaste "p" a tus p valores en tu test... entonces, así lo vas guardando:
p.values[i]=p
eso es.
Ahora, si no sabes cómo obtener el p valor de tu test, una pista sería esto: p=test$p.value
En respuesta a Carolina Leal
Re: Bucle "for" y creación de una nueva variable
de Manuel Muñoz Márquez -
La solución que te da Carolina es correcta, pero por motivos técnicos que tienen que ver con la forma en que R gestiona los objetos en memoria, si conoces el tamaño del vector es preferible crearlo desde el principio.
Para ello bastaría reemplazar p.values = NULL por p.values = numeric(50), siendo 50 el número de valores que vas a guardar.
Saludos.
Para ello bastaría reemplazar p.values = NULL por p.values = numeric(50), siendo 50 el número de valores que vas a guardar.
Saludos.