2016-07-15 3 views
0

データ収集中に発生するエラーを追跡するテーブルがあります。エラーがなければ、Error列の項目は「なし」です。私はこれがうまくいくError != 'None' データフレーム内のエントリ数をカウントしようとしている:エントリがない場合のエントリ数をカウントする

ErrorCount<-subset(df, Error != 'None') 
ErrorCount <- ErrorCount$Error 
ErrorCount <- as.data.frame(table(ErrorCount)) 
ErrorCount <- sum(ErrorCount[,2]) 

エラーがまったく存在しない場合を除き。空のテーブルはカウントできません。何も結果がないときに私はこの返り値を0にすることができますどのような提案はError != 'None'

+3

あなたは 'サブセット(df、エラー== 'なし')'しようとするべきではない? – rawr

+1

また、 'if(nrow(ErrorCount)== 0)ErrorCount < - 0;それ以外の場合は、最後の行のErrorCount < - sum(ErrorCount [、2]) 'が有効になります。 – lmo

+0

もう一つの選択肢: 'table(df $ Error)['None']'はErrorカラムに 'None'がなければ 'NA'を返します。しかし、私は4行目のコードを最終的に 'table'と呼ぶことはできません。 – Tensibai

答えて

0

通常のサブセットを使用します。私はランダムテーブルを作成する関数を作った:

set.seed(313) 

make_error_table <- function(prob){ 

data.frame(Data = rnorm(10), 
      Error = sample(c("Error", "None"), replace = TRUE, prob = prob)) 
} 

tab1 <- make_error_table(c(0.5, 0.5)) 
tab2 <- make_error_table(c(1, 0)) 

sum(tab1$Error == "None") 
[1] 5 
sum(tab2$Error == "None") 
[1] 0 
関連する問題