मैं कैसे एक समारोह सवाल here के समान में एक स्तंभ नाम पारित कर सकते हैं में dplyr :: फिल्टर() और% का उपयोग कर, लेकिन एक साथ dplyr
श्रृंखलन और filter()
का उपयोग कर %in%
साथ कार्य करने के लिए तर्क के रूप में स्तंभ नाम गुजरती हैं।आर,%
require(dplyr)
set.seed(8)
df <- data.frame(
A=sample(c(1:3), 10, replace=T),
B=sample(c(1:3), 10, replace=T))
हैं जहां स्तंभ एक 1 या 2 मैं क्या कर सकता है पंक्तियों प्राप्त करना चाहते हैं:
df %>% filter(A %in% c(1,2))
मैं:
A B
1 2 3
2 1 2
3 1 3
4 2 1
5 1 1
6 1 3
अब, मैं कैसे एक समारोह में इस डाल सकते हैं , जहां कोई कॉलम निर्दिष्ट कर सकता है, यह काम नहीं करता है:
fun1 <- function(x, column, n){
res <-
x %>% filter(column %in% n)
return(res)
}
fun1(df, A, c(1,2))
करने के लिए अपने समारोह बदलने का प्रयास करें यह कुछ के लिए अच्छा है अब देखो। जब मैंने कुछ समय पहले इसी तरह के सवाल पूछा, तो @ ओस्मिथ ने एक अच्छा जवाब दिया। यहां, मुझे एक अद्यतन संस्करण दिखाई देता है। आज मैं नोट्स ले रहा हूं। :) +1 – jazzurro
@jazzurro टिप्पणी के लिए धन्यवाद। – akrun
@akrun क्या आप अपने विकल्प 2 के लिए स्पष्टीकरण डाल सकते हैं - 'match.call()' में फ़ंक्शन के अंदर रखे गए सभी तर्क शामिल होंगे? और यह 'eval()' में 'फ़िल्टर()' द्वारा व्याख्यात्मक कैसे हो सकता है? – user3375672