So erstellen Sie einen numerischen Vektor mit der Länge Null in R.

92

Ich frage mich, wie ich einen numerischen Vektor mit der Länge Null in R erstellen kann.

Surjya Narayana Padhi
quelle
22
Ich glaube es ist numeric(0).
Blue Magister
Vergessen Sie nicht, die Antwort zu akzeptieren, wenn es Ihnen gefallen hat!
Ander Biguri

Antworten:

112

Wenn Sie die Hilfe für vector(oder numericoder logicaloder characteroder integeroder double, 'raw' oder complexetc) lesen , werden Sie sehen, dass alle ein length(oder length.outArgument haben, das standardmäßig 0 ist

Deshalb

numeric()
logical()
character()
integer()
double()
raw()
complex() 
vector('numeric')
vector('character')
vector('integer')
vector('double')
vector('raw')
vector('complex')

Alle geben 0 Längenvektoren der entsprechenden Atommoden zurück.

# the following will also return objects with length 0
list()
expression()
vector('list')
vector('expression')
mnel
quelle
1
Ich entschuldige mich für die Ablehnung; es war völlig zufällig und ich habe gerade erst bemerkt, dass es passiert war. Es wird mich nicht ändern lassen. Es tut uns leid.
Stuart R. Jefferys
1
Und wenn der leere Vektor Datumsangaben enthalten soll, welche würden Sie verwenden?
Zelbinian
@ Zelbinian Das ist eine Kuriosität. Was versuchst du damit zu erreichen?
BroVic
57

Einfach:

x <- vector(mode="numeric", length=0)
srctaha
quelle
4

Angenommen, Sie möchten einen Vektor x erstellen, dessen Länge Null ist. Nun sei v ein beliebiger Vektor.

> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0
Md. Sahidul Islam
quelle
1
Ich weiß nicht, was dort passiert. Wieder ist meine Antwort notiert. Warum??? Ich möchte eine Erklärung wissen. Kann mir jemand eine Antwort geben, warum meine Antwort notiert?
Md. Sahidul Islam
Sie nehmen die Länge des Vektorelements.
upInCloud
2
Die Länge ist der Beweis dafür, dass der numerische Vektor (hier x) einen Längenvektor von Null hat. Und der x-Vektor wird aus jedem anderen Vektor erstellt. X ist also der gewünschte Vektor mit der Länge Null. Auch sollten Sie die Überschrift des Problems klar überprüfen? @ ShaaradDalvi
Md. Sahidul Islam
3

Dies ist keine sehr schöne Antwort, aber ich verwende sie, um Vektoren mit der Länge Null zu erstellen:

0[-1]     # numeric
""[-1]    # character
TRUE[-1]  # logical
0L[-1]    # integer

Ein Literal ist ein Vektor der Länge 1 und [-1]entfernt das erste Element ( in diesem Fall das einzige Element) aus dem Vektor, wobei ein Vektor mit Nullelementen verbleibt.

Als Bonus, wenn Sie eine Single NAdes jeweiligen Typs möchten :

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Aaron McDaid
quelle