इस पोस्ट से प्रेरित होकर, मैं अब
reproduce(<mydata>)
स्टैकऑवरफ्लो में पोस्ट करने की आवश्यकता होने पर एक उपयोगी फ़ंक्शन का उपयोग करता हूं।
त्वरित निर्देश
यदि myData
आपके ऑब्जेक्ट का नाम पुन: उत्पन्न करने के लिए है, तो R में निम्न को चलाएँ:
install.packages("devtools")
library(devtools)
source_url("https://raw.github.com/rsaporta/pubR/gitbranch/reproduce.R")
reproduce(myData)
विवरण:
यह फ़ंक्शन dput
निम्नलिखित के लिए एक बुद्धिमान आवरण है :
- स्वचालित रूप से एक बड़े डेटा सेट का नमूना (आकार और वर्ग के आधार पर। नमूना आकार समायोजित किया जा सकता है)
- एक
dput
आउटपुट बनाता है
- आपको यह निर्दिष्ट करने की अनुमति देता है कि कौन सा कॉलम निर्यात करना है
- इसके सामने के हिस्से को जोड़ता है
objName <- ...
ताकि इसे आसानी से कॉपी किया जा सके + चिपकाया जा सके, लेकिन ...
- यदि मैक पर काम किया जाता है, तो आउटपुट को स्वचालित रूप से क्लिपबोर्ड पर कॉपी किया जाता है, ताकि आप इसे केवल चला सकें और फिर अपने प्रश्न पर पेस्ट कर सकें।
स्रोत यहां उपलब्ध है:
उदाहरण:
# sample data
DF <- data.frame(id=rep(LETTERS, each=4)[1:100], replicate(100, sample(1001, 100)), Class=sample(c("Yes", "No"), 100, TRUE))
DF 100 x 102 के बारे में है। मैं 10 पंक्तियों और कुछ विशिष्ट स्तंभों का नमूना लेना चाहता हूं
reproduce(DF, cols=c("id", "X1", "X73", "Class")) # I could also specify the column number.
निम्नलिखित आउटपुट देता है:
This is what the sample looks like:
id X1 X73 Class
1 A 266 960 Yes
2 A 373 315 No Notice the selection split
3 A 573 208 No (which can be turned off)
4 A 907 850 Yes
5 B 202 46 Yes
6 B 895 969 Yes <~~~ 70 % of selection is from the top rows
7 B 940 928 No
98 Y 371 171 Yes
99 Y 733 364 Yes <~~~ 30 % of selection is from the bottom rows.
100 Y 546 641 No
==X==============================================================X==
Copy+Paste this part. (If on a Mac, it is already copied!)
==X==============================================================X==
DF <- structure(list(id = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 25L, 25L, 25L), .Label = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"), class = "factor"), X1 = c(266L, 373L, 573L, 907L, 202L, 895L, 940L, 371L, 733L, 546L), X73 = c(960L, 315L, 208L, 850L, 46L, 969L, 928L, 171L, 364L, 641L), Class = structure(c(2L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L), .Label = c("No", "Yes"), class = "factor")), .Names = c("id", "X1", "X73", "Class"), class = "data.frame", row.names = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 98L, 99L, 100L))
==X==============================================================X==
सूचना यह भी है कि आउटपुट की संपूर्णता एक अच्छी एकल, लंबी लाइन में है, न कि कटा हुआ लाइनों का एक लंबा पैराग्राफ। इससे SO प्रश्न पदों पर पढ़ना आसान हो जाता है और कॉपी पेस्ट करना भी आसान हो जाता है।
अद्यतन 2013 अक्टूबर:
अब आप निर्दिष्ट कर सकते हैं कि टेक्स्ट आउटपुट की कितनी लाइनें लगेंगी (यानी, आप StackOverflow में क्या पेस्ट करेंगे)। इसके लिए lines.out=n
तर्क का उपयोग करें। उदाहरण:
reproduce(DF, cols=c(1:3, 17, 23), lines.out=7)
पैदावार:
==X==============================================================X==
Copy+Paste this part. (If on a Mac, it is already copied!)
==X==============================================================X==
DF <- structure(list(id = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 25L,25L, 25L), .Label
= c("A", "B", "C", "D", "E", "F", "G", "H","I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U","V", "W", "X", "Y"), class = "factor"),
X1 = c(809L, 81L, 862L,747L, 224L, 721L, 310L, 53L, 853L, 642L),
X2 = c(926L, 409L,825L, 702L, 803L, 63L, 319L, 941L, 598L, 830L),
X16 = c(447L,164L, 8L, 775L, 471L, 196L, 30L, 420L, 47L, 327L),
X22 = c(335L,164L, 503L, 407L, 662L, 139L, 111L, 721L, 340L, 178L)), .Names = c("id","X1",
"X2", "X16", "X22"), class = "data.frame", row.names = c(1L,2L, 3L, 4L, 5L, 6L, 7L, 98L, 99L, 100L))
==X==============================================================X==