मुझे पता है कि table
not the preferred waydata.table
के रूप में आवृत्ति तालिका बनाने के लिए है। लेकिन मान लीजिए कि मेरे पास table
है, जो भी कारण है, कि मैं data.table
में कनवर्ट करना चाहता हूं।तालिका का डेटाटेबल तालिका से डेटा से अलग है
require(data.table)
tab <- table(1:101)
DF.tab <- data.frame(tab)
DT.tab <- data.table(tab)
data.frame
जबकि data.table
प्रयास एक स्तंभ के रूप में मूल table
वस्तु स्टोर करने के लिए, एक data.frame
में table
डेटा धर्मान्तरित: data.table
रूपांतरण उसी तरह data.frame
रूपांतरण करता है काम नहीं करता। (मैं अन्य उदाहरण के बीच n
के एक से अधिक मान के लिए tab <- table(1:n)
के साथ इस परीक्षण किया है,।)
> str(DF.tab)
'data.frame': 101 obs. of 2 variables:
$ Var1: Factor w/ 101 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Freq: int 1 1 1 1 1 1 1 1 1 1 ...
> str(DT.tab)
Classes ‘data.table’ and 'data.frame': 101 obs. of 1 variable:
$ tab: 'table' int [1:101(1d)] 1 1 1 1 1 1 1 1 1 1 ...
..- attr(*, "dimnames")=List of 1
.. ..$ : chr "1" "2" "3" "4" ...
- attr(*, ".internal.selfref")=<externalptr>
यह भी ध्यान रखें कि जब तक as.data.frame
data.frame
जैसा ही होता है, as.data.table
पूरी तरह से विफल रहता है:
> as.data.table(tab)
Error in UseMethod("as.data.table") :
no applicable method for 'as.data.table' applied to an object of class "table"
में यदि तालिका पर्याप्त रूप से बड़ी है, तो अनौपचारिक परीक्षण .Dim > 100
सुझाता है), मुझे बहुत अजीब त्रुटियां मिलती हैं, print
:
> print(data.table(table(1:101)))
Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L, :
dims [product 5] do not match the length of object [10]
ध्यान दें कि print(data.table(table(1:100)))
एक त्रुटि नहीं है, लेकिन केवल एक स्तंभ V1
को प्रदर्शित करता है, जबकि print(data.frame(table(1:100)))
Var1
और Freq
कॉलम शामिल हैं।
data.table(data.frame(...))
से कोई बेहतर कामकाज है? क्या मैं हमेशा table
से बचने की कोशिश कर रहा हूं? और print
त्रुटि सीधे इसके कारण होती है, या यह कुछ गहरी है?
यह सुंदर पीआर के साथ एक समस्या प्रतीत होता है इनटिंग (कुल डेटा पंक्तियों के दौरान 'data.table' शीर्ष 5 और नीचे 5 पंक्तियों को कैसे प्रिंट करता है> 100) ... – Arun
मुझे लगता है कि समस्या 'आर' आवृत्ति सारणी को एक सरणी के रूप में निहित करती है जहां प्रत्येक अद्वितीय चर यह स्वयं का आयाम है, और वह अद्वितीय चर 'नाम' के रूप में संग्रहीत किया जाता है। –
आपको एक फीचर अनुरोध और एक बग रिपोर्ट सबमिट करनी चाहिए – eddi