リストのすべての要素に必要なパターンがあるかどうかを確認したい場合は、スクリプト全体を停止します。R正規表現セミコロン
例のリストは、次のようになります。
[1]
Archaea;Euryarchaeota;Methanobacteria;Methanobacteriales;Methanobacteriaceae;Methanobrevibacter;
[2]
Archaea;Euryarchaeota;Methanobacteria;Methanobacteriales;Methanobacteriaceae;Methanosphaera;
[3]
Archaea;Euryarchaeota;Methanobacteria;Methanobacteriales;Methanobacteriaceae;Methanosphaera;
[4]
Bacteria;Actinobacteria;Actinobacteria;Bifidobacteriales;Bifidobacteriaceae;Bifidobacterium;
[5]
Bacteria;Actinobacteria;Actinobacteria;Bifidobacteriales;Bifidobacteriaceae;Bifidobacterium;
[6]
Bacteria;Actinobacteria;Actinobacteria;Bifidobacteriales;Bifidobacteriaceae;Bifidobacterium;
[7]
Bacteria;Actinobacteria;Actinobacteria;Coriobacteriales;Coriobacteriaceae;Gordonibacter;
[8]
Bacteria;Actinobacteria;Coriobacteriia;Coriobacteriales;Coriobacteriaceae;;
[9]
Bacteria;Actinobacteria;Coriobacteriia;Coriobacteriales;Coriobacteriaceae;;
は私のすべてのエントリは正確に6セミコロンを持っていると思います。 greplでパターンマッチングを試みましたが、正しいパターンで問題があります。 は、ここで私は
if(!any(grepl(";{6}", taxonomy))) { Through error message if the
taxonomy is not in the right format stop("Wrong number of taxonomic
classes\n Taxonomic levels have to be separated by semicolons (six in
total). IMPORTANT: if taxonomic information at any level is missing,
the semicolons are still needed:\n
e.g.Bacteria;Bacteroidetes;Bacteroidia;Bacteroidales;Prevotellaceae;Prevotella;
e.g.Bacteria;Bacteroidetes;Bacteroidia;Bacteroidales;Prevotellaceae;;")
} else {
を試してみました。しかし、私は常にFALSE得るものです。
'stringr'パッケージの' str_count'を見てください。 – Sotos