2015-01-29 18 views
10

मैं here के समान करना चाहता हूं लेकिन dplyr और एक और कॉलम के साथ।dplyr में फ़ंक्शन के लिए कॉलम नाम को पैरामीटर के रूप में कैसे पास किया जाए?

मैं एक स्ट्रिंग चर के माध्यम से एक कॉलम चुनना चाहता हूं, लेकिन शीर्ष पर मैं सामान्य रूप से एक दूसरा कॉलम भी चुनना चाहता हूं। मुझे इसकी आवश्यकता है क्योंकि मेरे पास एक ऐसा फ़ंक्शन है जो किसी दिए गए पैरामीटर द्वारा कुछ कॉलम का चयन करता है।

मैं एक उदाहरण के रूप में निम्न कोड:

library(dplyr) 
data(cars) 

x <- "speed" 
cars %>% select_(x, dist) 
+6

तुम सिर्फ dist' बोली नहीं कर सकता '' भी कारों%>% select_ (एक्स, "जिले") 'में के रूप में? –

उत्तर

9

आप dist स्तंभ

x <- "speed" 
cars %>% select_(x, quote(dist)) %>% head 
# speed dist 
# 1  4 2 
# 2  4 10 
# 3  7 4 
# 4  7 22 
# 5  8 16 
# 6  9 10 
2

मैं जानता हूँ कि मैं देर से यह एक करने के लिए एक छोटे से कर रहा हूँ के लिए quote() उपयोग कर सकते हैं, लेकिन मैं समझ मैं इसे दूसरों के लिए जोड़ दूंगा।

x <- "speed" 
cars %>% select(one_of(x),dist) %>% head() 
## speed dist 
## 1  4 2 
## 2  4 10 
## 3  7 4 
## 4  7 22 
## 5  8 16 
## 6  9 10 

या इस काम करेगा भी

cars %>% select(one_of(c(x,'dist'))) 
संबंधित मुद्दे