2017-03-01 6 views
-2

私はdfを動的にフィルタリングできる関数を作成しようとしています。例えば、私のdfの列の一部にのみ条件を課し、毎回異なる閾値を設定するなど。複数のフィルタリング条件の動的関数

これは一例です。今、私が持っていると仮定し

df[df$col1 == TRUE & df$col2 > 0.5] 
df[df$col2 < 0.3 & df$col3 > 0.6] 

:私は私のdfの上に2つの異なるフィルタを課すことをしたい場合は、

col1 col2 col3 
TRUE 0.2 0.5 
TRUE 0.3 0.7 
FALSE 0.7 1.5 

だから私は2行を記述する必要があります、:私のdfがどのように見えるかと仮定し、これはあります多くの列を持つdf。私は何度も何度も何度も何度も繰り返し書くことを避けることができるようなものを探しています。例えば、そのようなこと(my_selectionが関数である):

my_selection (data = df, col1, ==, TRUE, col2, >, 0.5) 
my_selection (data = df, col2, <, 0.3, col3, >, 0.6) 

あなたの助けが理解されるであろう。

+0

おそらく、あなたは 'subset'を探していますか? –

+0

@docendodiscimusどのように 'サブセット 'を動的に使うことができますか?私はこの関数を 'col1'と' col2'の条件で、 'col2'と' col3'などでは一度呼び出せるようにしたいです。 – staove7

+0

関数を呼び出すとどういう意味なのでしょうか?動的な方法でこれまでは、3つの異なる条件を使用してdata.frameのサブセットを作成したいと考えています。これらの動的呼び出しはどのように見えますか? –

答えて

0

私はあなたが1つ上のインタラクティブ機能を使用できると思う:

ここでは、別のデータセットとの例を示します

employee <- c('John Doe','Peter Gynn','Jolie Hope') 
salary <- c(21000, 23400, 26800) 
startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14')) 
employ.data <- data.frame(employee, salary, startdate) 


employee_sel<- select.list(unique(employee), graphics = TRUE, multiple = TRUE, title = "Select one or more") 
salary_sel<- select.list(as.character(unique(salary)), graphics = TRUE, multiple = TRUE, title = "Select one or more") 
employ_sel<- select.list(as.character(unique(startdate)), graphics = TRUE, multiple = TRUE, title = "Select one or more") 
関連する問題