Pour une étude médicale, je voudrais calculer l'eGFR, une mesure de la fonction rénale, avec une équation qui nécessite certaines valeurs d'entrée: Scr (sérum créatinine), ScysC (cystatine C sérique), l'âge et les valeurs selon le sexe, qui sont tous disponibles dans mon ensemble de données.convertir les équations mathématiques en code avec ifelse et min/max dans R Studio
Veuillez voir l'image ci-jointe pour les équations. Donc, je suis principalement aux prises avec les instructions ifelse et les nombres min/max. Comment puis-je créer un code pour récupérer la sortie avec cette équation?
Ma première pensée est de créer une fonction de boucle, mais je ne sais pas exactement comment. Ainsi, toute l'aide et le temps est très apprécié :)
-Edit- AVIS: il est important que le rapport entre min/max est toujours < 1. par exemple une femelle avec Scr = 0.9 donne Scr/k = 0.9/0.7 = 1.28 et résulte en min = 1 et max = 1.28. Une femelle avec Scr = 0,6 donne Scr/k = 0,6/0,7 = 0,86 et donne min = 0,86 et max = 1.
Voici un échantillon de mes données:
df <- data.frame(ID = c(1,2,3), AGE = c(36,36, 36),
CYSC = c(0.757, 1.34, 1.34), SCR = c(0.58, 0.68, 0.68), SEX = c(1,1,0))
#Male = 1, Female 0
#equation:
eGFR = 135*((min(Scr/k,1)**a))*((max(Scr/k,1)**-0.601))*(min(Scysc/0.8,1)**-0.375)* (max(Scysc/0.8,1)**-0.711) * (0.995**Age) (*0.969 if female)
(With k=0.7 if F and k=0.9 if M, a=-0.248 if F and a=-0.207 if M)
Je vous recommande d'utiliser '' pmax' et pmin' à la place. Ceux-ci sont correctement vectorisés. Et utilisez 'ifelse()' pour la partie "if". – MrFlick
Je suis confus par la structure de votre dataframe. On dirait qu'il y a 7 colonnes, mais seulement 5 en-têtes. Pouvez-vous fournir une spécification 'data.frame' appropriée pour que nous puissions vous aider? (c'est à dire quelque chose comme 'df <- data.frame (ID = c (1, 2), AGE = c (36, 36), CYSC = c (3.7487, 3.3494), ... etc' – TTNK