Liebes Forum,
ich habe wahrscheinlich ein Anfängerproblem, aber alles, was ich bisher gelesen habe (substitute, lazy etc.) hat irgendwie nicht zum Erfolg geführt. Ich lese in einer for- Schleife alle Spaltennamen aus und möchte über jede dieser Spalten (Variablen) eine cutpointanalyse mit cutpointr(dataset, variable, outcome...) laufen lassen. Jetzt kann ich mir super einfach die Variablennamen anzeigen lassen, die die for- schleife in "var1" speichert (print(var1)), allerdings funktioniert es nicht, dass ich cutpointr(dataset,var1,outcome...) hinschreibe. Dann sagt er mir immer, Fehler in if(stats::median(x,[class==uc[1]])>stats;median(x[class== : Fehlender Wert wo TRUE/FALSE nötig ist.
Ich glaube, dass der var1 nicht ersetzt durch den Namen der Spalte, sondern die Spalte "var1" sucht... oder? Daher doofe Frage, wie kriege ich R dazu den Wert der Variablen auszulesen und nicht den Variablennamen?
Vielen Dank
Matthias
Argumente durch Variablen ersetzen
-
- Beiträge: 2
- Registriert: Do Sep 24, 2020 3:12 pm
Re: Argumente durch Variablen ersetzen
Hilft das? Zumindest liest das sowohl die Spaltennamen als auch die Spaltenwerte aus:
Oder über die Spaltennamen statt über die Spaltennummer gehend:
Code: Alles auswählen
data(iris)
for( i in 1:ncol(iris) ){
print(names(iris)[i])
if(is.numeric(iris[[i]]))
print(mean(iris[[i]]))
else
print("Nicht-numerisch")
}
Code: Alles auswählen
data(iris)
for( i in names(iris) ){
if(is.numeric(iris[[i]]))
print(mean(iris[[i]]))
else
print("Nicht-numerisch")
}
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
-
- Beiträge: 2
- Registriert: Do Sep 24, 2020 3:12 pm
Re: Argumente durch Variablen ersetzen
Teilweise... jetzt kapiert er zwar, dass das eine Variable sein soll aber kommt offenbar mit dem Format nicht zurecht: Can't convert a call to a string. Was Ähnliches hatte ich auch schon wenn ich var1 in Klammern geschrieben habe (var1)...
Vielen Dank für die Antwort dennoch
Matthias
Vielen Dank für die Antwort dennoch
Matthias
Re: Argumente durch Variablen ersetzen
Wieder das alte Problem: Du gibst (aus Deiner Anfängerperspektive) einen Teil des Lösungsweges vor, ohne das "Nettoproblem" darzustellen.
Ich gehe davon aus, dass sich das Ganze wesentlich eleganter lösen lässt - wenn man Deinen angefangenen (Irr?-) Weg nicht weiter beschreitet...
Und: wir bitten immer um Daten, damit man direkt die Ratschläge ausprobieren kann - das sollte doch auch in Deinem Sinne sein!?
Ich gehe davon aus, dass sich das Ganze wesentlich eleganter lösen lässt - wenn man Deinen angefangenen (Irr?-) Weg nicht weiter beschreitet...
Und: wir bitten immer um Daten, damit man direkt die Ratschläge ausprobieren kann - das sollte doch auch in Deinem Sinne sein!?