Ich interessiere mich numerischen Skalar Identifizierung wie:Wie überprüfen Sie für einen Skalar in R?
doub <- 3.14
intg <- 8L
Ich weiß, dass diese als Länge einer Vektoren behandelt werden. So kann jede R Objekt x
ist is.vector(x) && length(x) == 1
der richtige Weg, um zu überprüfen, ob x
ein Skalar ist? length(x) == 1
für sich allein nicht ausreichend ist, da es eine true zurück, wenn es falsch ist, für einen Datenrahmen mit einer Spalte oder eine Liste mit einem Element zurückgeben sollte.
Gibt es einen Grund, warum es keine solche Funktion gibt is.scalar
in Basis R
implementiert? Aus irgendeinem Grund bereits erwähnt die beiden, die ich in anderen Funktionen nicht für den Datenrahmen Fall finden konnten, sind diese:
assertthat::is.scalar(data.frame(a = 1:2))
lambda.tools::is.scalar(data.frame(a = 1:2))
Warum sind die Ergebnisse dieser beiden Funktionsaufrufe unterschiedliche meinem Verständnis (und Definition), wie ein is.scalar
Funktion sollte funktionieren?
Sie wahrscheinlich 'wollen statt' is.vector' is.atomic'. –
Was ist der Unterschied zwischen den beiden? – Alex
Siehe "? Isatomic": "Es ist üblich, atomare Typen als atomare Vektoren zu bezeichnen, aber beachte, dass" is.vector' legt weitere Einschränkungen fest: ein Objekt kann atomar sein, aber kein Vektor (in diesem Sinne). " – MichaelChirico