@Franks जवाब पर विस्तार करने के लिए, अपने विशेष मामले में अगर आप एक पंक्ति जोड़कर रहे हैं, यह है:
set.seed(12345)
dt1 <- data.table(a=rnorm(5), b=rnorm(5))
निम्नलिखित बराबर हैं;
microbenchmark(
rbind(dt1, list(5, 6)),
rbindlist(list(dt1, list(5, 6)))
)
हम देख सकते हैं: मैं पहली बार पढ़ने में आसान लेकिन दूसरे आसानी से ढूंढा जा
expr min lq median uq max
rbind(dt1, list(5, 6)) 160.516 166.058 175.089 185.1470 457.735
rbindlist(list(dt1, list(5, 6))) 130.137 134.037 140.605 149.6365 184.326
आप पंक्ति कहीं और सम्मिलित करना चाहते हैं, तो निम्नलिखित काम करेंगे, लेकिन यह बहुत नहीं है:
rbindlist(list(dt1[1:3, ], list(5, 6), dt1[4:5, ]))
या यहाँ तक कि
rbindlist(list(dt1[1:3, ], as.list(c(5, 6)), dt1[4:5, ]))
देने:
a b
1: 0.5855288 -1.8179560
2: 0.7094660 0.6300986
3: -0.1093033 -0.2761841
4: 5.0000000 6.0000000
5: -0.4534972 -0.2841597
6: 0.6058875 -0.9193220
आप जगह में एक पंक्ति (जो पसंदीदा तरीका है), तो आप यानी
dt1 <- data.table(a=rnorm(6), b=rnorm(6))
set(dt1, i=6L, j="a", value=5) # refer to column by name
set(dt1, i=6L, j=2L, value=6) # refer to column by number
धन्यवाद अग्रिम में data.table के आकार को परिभाषित करने की आवश्यकता होगी संशोधित रहे हैं, तो @ बॉक्सुआन, मैंने आपके सुझाव का विवरण लेने के लिए इस उत्तर को संशोधित किया है, जो पढ़ने के लिए थोड़ा तेज़ और आसान है।
मुझे लगता है कि इस पैकेज के लिए पंक्तियों को जोड़ने के लिए अपेक्षाकृत तेज़ बनाने के लिए 'डालने()' फ़ंक्शन की योजना बनाई गई है, लेकिन अभी तक, आपको डेटा तालिका के 'nrow' को पूर्वस्थापित करना होगा। शायद यह: http://r-forge.r-project.org/tracker/index.php?func=detail&aid=1458&group_id=240&atid=978 – Frank
'rbind (डीटी, सूची (5,6))' आपके लिए पर्याप्त है उद्देश्य? – Roland
btw ime हर बार जब मैंने सोचा कि मुझे पंक्ति से डेटा पंक्ति जोड़ने की ज़रूरत है, तो मैं सी-स्टाइल सोच रहा था और आर-स्टाइल नहीं - इसलिए उपर्युक्त टिप्पणियों से अलग आपको पुनर्विचार करना चाहिए कि आपको वास्तव में यह करने की आवश्यकता है या नहीं – eddi