जब मैं आर पैकेज के स्रोत को देखता हूं, तो मुझे फ़ंक्शन स्वीप अक्सर उपयोग किया जाता है। कभी-कभी इसका उपयोग तब किया जाता है जब एक सरल कार्य पर्याप्त होता है (उदाहरण के लिए, 'लागू करें'), अन्य बार, यह जानना असंभव है कि यह के बिना क्या कर रहा है, कोड कोड के माध्यम से कदम उठाने के लिए उचित समय व्यतीत करनाआर फंक्शन 'स्वीप' का उपयोग कैसे करें
तथ्य यह है कि मैं एक सरल कार्य का उपयोग करके स्वीप के प्रभाव को पुन: पेश कर सकता हूं, यह बताता है कि मुझे स्वीप के मुख्य उपयोग के मामलों को समझ में नहीं आता है, और तथ्य यह है कि इस फ़ंक्शन का उपयोग अक्सर किया जाता है, यह सुझाव देता है कि यह काफी उपयोगी है।
संदर्भ:
झाडू आर के मानक पुस्तकालय में एक समारोह है; यह विधि हस्ताक्षर है:
sweep(x, MARGIN, STATS, FUN="-", check.margin=T, ...)
# x is the data
# STATS refers to the summary statistics which you wish to 'sweep out'
# FUN is the function used to carry out the sweep, "-" is the default
आप देख सकते हैं, विधि हस्ताक्षर हालांकि 'स्वीप' 'लागू' के समान है एक और पैरामीटर, 'आंकड़े' की आवश्यकता है।
एक और महत्वपूर्ण अंतर यह है कि 'स्वीप' इनपुट सरणी के रूप में एक ही आकार की एक सरणी देता है, जबकि 'लागू करें' द्वारा दिया परिणाम समारोह में पारित पर निर्भर करता है।
कार्रवाई में स्वीप :
# e.g., use 'sweep' to express a given matrix in terms of distance from
# the respective column mean
# create some data:
M = matrix(1:12, ncol=3)
# calculate column-wise mean for M
dx = colMeans(M)
# now 'sweep' that summary statistic from M
sweep(M, 2, dx, FUN="-")
[,1] [,2] [,3]
[1,] -1.5 -1.5 -1.5
[2,] -0.5 -0.5 -0.5
[3,] 0.5 0.5 0.5
[4,] 1.5 1.5 1.5
तो राशि में, मैं क्या तलाश कर रहा हूँ एक अनुकरणीय उपयोग के मामले या दो के लिए स्वीप है।
कृपया आर दस्तावेज़ीकरण, मेलिंग सूचियों, या किसी भी 'प्राथमिक' आर स्रोतों को पढ़ या लिंक न करें - मान लें कि मैंने उन्हें पढ़ा है। मुझे क्या दिलचस्पी है कि आर प्रोग्रामर/विश्लेषकों का अनुभव कितना अनुभवी है स्वीप अपने कोड में।
एम dx अपने परिणाम को दोहराने नहीं है। आपने अपने प्रश्न का उत्तर खुद ही दे दिया। – John
'लागू' का एकमात्र उपयोग जिसे मैं इस परिणाम के लिए समझ सकता हूं वह कुछ है (लागू (टी (एम), 2, "-", डीएक्स)), लेकिन यह बहुत बुरा है। –