जवाबों:
वैक्टर (सूचियों सहित) और कारकों, और किसी अन्य आर ऑब्जेक्ट की लंबाई निर्धारित करें या सेट करें जिसके लिए एक विधि परिभाषित की गई है।
एक पूर्णांक या संख्यात्मक वेक्टर के रूप में एक सूची या परमाणु वेक्टर (is.atomic) के प्रत्येक तत्व की लंबाई प्राप्त करें।
R
मेरे जैसे नए लोगों के लिए सलाह : खबरदार, निम्नलिखित एक एकल वस्तु की एक सूची है :
> mylist <- list (1:10)
> length (mylist)
[1] 1
ऐसे मामले में आप सूची की लंबाई नहीं, बल्कि इसके पहले तत्व की तलाश कर रहे हैं:
> length (mylist[[1]])
[1] 10
यह एक "सही" सूची है:
> mylist <- list(1:10, rnorm(25), letters[1:3])
> length (mylist)
[1] 3
इसके अलावा, ऐसा लगता है कि R
एक data.frame को एक सूची के रूप में मानता है:
> df <- data.frame (matrix(0, ncol = 30, nrow = 2))
> typeof (df)
[1] "list"
ऐसे मामले में आप में रुचि हो सकती है ncol()
और nrow()
इसके बजाय length()
:
> ncol (df)
[1] 30
> nrow (df)
[1] 2
हालांकि length()
यह भी काम करेगा (लेकिन यह एक चाल है जब आपके डेटा.फ्रेम में केवल एक कॉलम होता है):
> length (df)
[1] 30
> length (df[[1]])
[1] 2
आइए एक खाली सूची बनाएं (आवश्यक नहीं, लेकिन जानना अच्छा है):
> mylist <- vector(mode="list")
आइए इसमें कुछ सामग्री डालें - 3 घटक / अनुक्रमित / टैग (जो भी आप इसे कॉल करना चाहते हैं) प्रत्येक अलग-अलग तत्वों की मात्रा के साथ:
> mylist <- list(record1=c(1:10),record2=c(1:5),record3=c(1:2))
यदि आप किसी सूची उपयोग में सिर्फ घटकों की संख्या में रुचि रखते हैं:
> length(mylist)
[1] 3
यदि आप किसी सूची उपयोग के एक विशिष्ट घटक में तत्वों की लंबाई में रुचि रखते हैं: (दोनों एक ही घटक का संदर्भ यहाँ)
length(mylist[[1]])
[1] 10
length(mylist[["record1"]]
[1] 10
यदि आप सूची उपयोग के सभी घटकों में सभी तत्वों की लंबाई में रुचि रखते हैं:
> sum(sapply(mylist,length))
[1] 17
आप भी उपयोग कर सकते हैं unlist()
, जो अक्सर सूचियों को संभालने के लिए उपयोगी होता है:
> mylist <- list(A = c(1:3), B = c(4:6), C = c(7:9))
> mylist
$A
[1] 1 2 3
$B
[1] 4 5 6
$C
[1] 7 8 9
> unlist(mylist)
A1 A2 A3 B1 B2 B3 C1 C2 C3
1 2 3 4 5 6 7 8 9
> length(unlist(mylist))
[1] 9
अनलिस्ट () सूचियों पर अन्य कार्यों को निष्पादित करने का एक सरल तरीका है, जैसे:
> sum(mylist)
Error in sum(mylist) : invalid 'type' (list) of argument
> sum(unlist(mylist))
[1] 45