วิธีสร้างเวกเตอร์ตัวเลขที่มีความยาวเป็นศูนย์ใน R


92

ฉันสงสัยว่าฉันจะสร้างเวกเตอร์ที่เป็นตัวเลขความยาวศูนย์ใน R ได้อย่างไร


22
numeric(0)ผมเชื่อว่ามันเป็น
Blue Magister

อย่าลืมตอบรับคำตอบหากคุณชอบ!
Ander Biguri

คำตอบ:


112

ถ้าคุณอ่านความช่วยเหลือสำหรับvector(หรือnumericหรือlogicalหรือcharacterหรือintegerหรือdouble'ดิบ' หรือcomplexฯลฯ ) แล้วคุณจะเห็นว่าพวกเขาทั้งหมดมีlength(หรือlength.outข้อโต้แย้งที่เริ่มต้นที่ 0

ดังนั้น

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

ทั้งหมดส่งคืนเวกเตอร์ความยาว 0 ของโหมดอะตอมที่เหมาะสม

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

1
ฉันขอโทษสำหรับการลงคะแนน; มันเป็นอุบัติเหตุโดยสิ้นเชิงและฉันเพิ่งสังเกตเห็นว่ามันเกิดขึ้น มันจะไม่ยอมให้ฉันเปลี่ยนแปลง ขออภัย.
Stuart R.Jefferys

1
และถ้าเวกเตอร์ว่างนั้นมีไว้เพื่อเก็บวันที่คุณจะใช้อะไร?
Zelbinian

@ Zelbinian นั่นคือความอยากรู้อยากเห็น คุณพยายามทำอะไรเพื่อให้บรรลุผลสำเร็จ?
BroVic


4

สมมติว่าคุณต้องการสร้างเวกเตอร์ x ที่มีความยาวเป็นศูนย์ ตอนนี้ให้ v เป็นเวกเตอร์ใด ๆ

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

1
ฉันไม่รู้ว่ามีอะไรเกิดขึ้นที่นั่น อีกครั้งคำตอบของฉันคือทำเครื่องหมาย ทำไม??? ฉันต้องการทราบคำอธิบาย ใครสามารถให้คำตอบฉันได้ว่าทำไมคำตอบของฉันจึงถูกลบ
Md. Sahidul Islam

คุณกำลังใช้ความยาวขององค์ประกอบเวกเตอร์
upInCloud

2
ความยาวพิสูจน์แล้วว่าเวกเตอร์ตัวเลข (ที่นี่ x) มีเวกเตอร์ความยาวเป็นศูนย์ และเวกเตอร์ x ถูกสร้างจากเวกเตอร์อื่น ๆ ดังนั้น x จึงเป็นเวกเตอร์ที่ต้องการของความยาวเป็นศูนย์ นอกจากนี้คุณควรตรวจสอบหัวข้อปัญหาให้ชัดเจน? @ShaaradDalvi
Md. Sahidul Islam

3

นี่ไม่ใช่คำตอบที่สวยงาม แต่เป็นสิ่งที่ฉันใช้สร้างเวกเตอร์ที่มีความยาวเป็นศูนย์:

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

ลิเทอรัลคือเวกเตอร์ที่มีความยาว 1 และ[-1]ลบองค์ประกอบแรก ( องค์ประกอบเดียวในกรณีนี้) ออกจากเวกเตอร์โดยปล่อยให้เวกเตอร์ที่มีองค์ประกอบเป็นศูนย์

เป็นโบนัสหากคุณต้องการประเภทเดียวNA:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.