2017-10-07 4 views
0

Inf値を集計して除外するための解決策があるかどうかわかりません。インスタンスのID 6に値infを除いた集計

df <- data.frame(Id = c(1:9), 
     Fact = c("A", "A", "A", "B", "B", "B", "C", "C", "C"), 
     Values = c(10, 5, 14, 3, 1, 10/0, 7, 11, 22)) 

お知らせはこれをしようとInfの

で、ファクトB用maxvaluesがInfの

maxvalues <- aggregate(Values~Fact,df,max, na.rm=TRUE) 
maxvalues 

になることを通知があることをファクトB用maxvaluesをご希望します3(これはInfを除いた値になります)。できるだけベースRを貼りつけることを願っています。

答えて

3

利用x上の条件と無名関数:

aggregate(Values ~ Fact, df, function(x) max(x[x < Inf], na.rm = TRUE)) 
# Fact Values 
# 1 A  14 
# 2 B  3 
# 3 C  22 

または凝集する前に、それらの行を削除:

aggregate(Values ~ Fact, df[df$Values < Inf, ], max, na.rm = TRUE) 
# Fact Values 
# 1 A  14 
# 2 B  3 
# 3 C  22 
関連する問題