ฉันสงสัยว่าฉันจะสร้างเวกเตอร์ที่เป็นตัวเลขความยาวศูนย์ใน R ได้อย่างไร
ฉันสงสัยว่าฉันจะสร้างเวกเตอร์ที่เป็นตัวเลขความยาวศูนย์ใน R ได้อย่างไร
คำตอบ:
ถ้าคุณอ่านความช่วยเหลือสำหรับ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')
เพียงแค่:
x <- vector(mode="numeric", length=0)
สมมติว่าคุณต้องการสร้างเวกเตอร์ x ที่มีความยาวเป็นศูนย์ ตอนนี้ให้ v เป็นเวกเตอร์ใด ๆ
> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0
นี่ไม่ใช่คำตอบที่สวยงาม แต่เป็นสิ่งที่ฉันใช้สร้างเวกเตอร์ที่มีความยาวเป็นศูนย์:
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
numeric(0)
ผมเชื่อว่ามันเป็น