के रूप में परिवर्तनीय ले सकता है tidyr का स्प्रेड फ़ंक्शन केवल उद्धरण के बिना कॉलम नाम लेता है। वहाँ एक तरह से मैं एक चर में पारित कर सकते हैं उदाहरण के लिए स्तंभ नाम जिसमें हैटिडिर फैल फ़ंक्शन एक चुनिंदा कॉलम
# example using gather()
library("tidyr")
dummy.data <- data.frame("a" = letters[1:25], "B" = LETTERS[1:5], "x" = c(1:25))
dummy.data
var = "x"
dummy.data %>% gather(key, value, var)
यह एक त्रुटि
Error: All select() inputs must resolve to integer column positions.
The following do not:
* var
कौन से मिलान समारोह का उपयोग कर हल किया जाता है जो आवश्यक स्तंभ स्थिति
देता है देता हैdummy.data %>% gather(key, value, match(var, names(.)))
लेकिन यह वही दृष्टिकोण स्प्रेड फ़ंक्शन
के लिए काम नहीं करता हैdummy.data %>% spread(a, match(var, names(.)))
Error: Invalid column specification
इकट्ठा और फैलाने के कार्यों में विभिन्न कॉलम विनिर्देश लेते हैं। इकट्ठा आप मानक के मूल्यांकन का उपयोग करने के लिए आप gather_
या spread_
उपयोग करने की आवश्यकता इन 2 देना ही परिणाम चाहते हैं, जबकि प्रसार यह क्या चाहता है
नोटिस कि प्रसार केवल एक मान कॉलम स्वीकार करता है। यदि आप एकाधिक कॉलम फैलाना चाहते हैं, तो आपको उन्हें एक ही में बदलना चाहिए (उन्हें पेस्ट करें), और बाद में उन्हें फैलाएं। – dalloliogm
शायद आप 'spread_' चाहते हैं? हालांकि, यह कुंजी और मूल्य कॉलम दोनों के लिए तार लेता है। – aosmith