2017-06-22 1 views
0

Donc pour le moment, j'ai un tableau avec 8 colonnes et rangées qui se réfèrent à des personnes. Je veux modifier la valeur d'une colonne à 1 ou 0 en fonction de la valeur d'une autre colonne pour cette personne à l'aide d'une fonction d'application.Changement d'éléments dans un tableau en utilisant une fonction apply dans r

J'ai déjà cela avec une boucle, qui est

for(i in 1:nrow(OutComes)) { 
    if(OutComes[i,"Risk_Factor"] > 0.7) { 
    OutComes[i,"OnsetAge"] = 1 
    } else { 
    OutComes[i,"OnsetAge"] = 0 
    } 
} 

Ainsi, le tableau a un vecteur OUTcome appelé « Risk_Factor » où chaque personne se voit attribuer un nombre aléatoire uniforme en utilisant runif(). Si ce nombre est supérieur à 0,7, un élément situé le long de la même ligne dans la colonne "Début âge" change.

Comment cela fonctionnerait-il avec une fonction d'application? J'ai cherché mais je ne trouve rien qui aide.

+0

Voir ce lien, pourrait-il aide [lien] (http://petewerner.blogspot.in/2012/12/using-apply-sapply-lapply-in-r.html) –

Répondre

0

L'affectation est une fonction vectorisée, il n'y a donc pas besoin de boucle.

is_risky <- OutComes[,"Risk_Factor"] > 0.7 
OutComes[, "OnsetAge"] <- as.integer(is_risky)