Cara membuat vektor numerik dengan panjang nol di R


Jawaban:


112

Jika Anda membaca bantuan untuk vector(atau numericatau logicalatau characteratau integeratau double, 'mentah' atau complexdll) maka Anda akan melihat bahwa mereka semua memiliki length(atau length.outargumen yang defaultnya 0

Karena itu

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

Semua mengembalikan 0 vektor panjang dari mode atom yang sesuai.

# the following will also return objects with length 0
list()
expression()
vector('list')
vector('expression')

1
Saya minta maaf atas suara yang ditolak; itu benar-benar tidak disengaja dan saya baru saja menyadari itu telah terjadi. Itu tidak akan membiarkan saya berubah. Maaf.
— Stuart R. Jefferys

1
Dan jika vektor kosong dimaksudkan untuk menyimpan tanggal, apa yang akan Anda gunakan?
— Zelbinian

@Zelbinian Itu rasa ingin tahu. Apa yang ingin Anda capai dengan melakukan itu?
— BroVic

57

Secara sederhana:

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

4

Misalkan Anda ingin membuat vektor x yang panjangnya nol. Sekarang biarkan v menjadi vektor apapun.

> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0

1
Saya tidak tahu apa yang terjadi di sana. Sekali lagi jawaban saya adalah mark down. Mengapa??? Saya ingin tahu penjelasannya. Adakah yang bisa memberi saya jawaban mengapa jawaban saya turun?
— Md. Sahidul Islam

Anda mengambil panjang elemen vektor.
— upInCloud

2
Panjang tersebut membuktikan bahwa vektor numerik (disini x) mempunyai panjang vektor nol. Dan vektor x dibuat dari vektor lainnya. Jadi x adalah vektor panjang nol yang diinginkan. Anda juga harus memeriksa judul masalahnya dengan jelas? @ShaaradDalvi
— Md. Sahidul Islam

3

Ini bukan jawaban yang sangat bagus, tapi itulah yang saya gunakan untuk membuat vektor panjang-nol:

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

Literal adalah vektor dengan panjang 1, dan [-1]menghilangkan elemen pertama ( satu - satunya elemen dalam kasus ini) dari vektor, menyisakan vektor dengan elemen nol.

Sebagai bonus, jika Anda menginginkan salah satu NAdari jenisnya masing-masing:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.