UNIXでgrep-fのようなリストのサブリストをgrepする方法は?私はデータフレームを持っていると言います
A 1 3 4
B 4 5 6
C 7 8 9
D 1 3 4
E 1 3 3
F 2 4 5
そして私は必要なだけです
A 1 3 4
C 7 8 9
E 1 3 3
F 2 4 5
のようにgrep c(A C E F)
?どうもありがとう!
行名だと思いA
C
E
F
ます。データ フレームが と呼ばれていると仮定するとdd
、基本的なサブセット化でうまくいくはずです。
##Select rows where the rownames are in a particular vector
dd[rownames(dd) %in% c("A", "C", "E", "F"), ]
A..F
列からのものであると仮定すると、次の戻り値V1
を使用できます。grepl
TRUE/FALSE
# gives TRUE when V1 != B, D
df[grepl("[^BD]", df$V1), ]
# V1 V2 V3 V4
# 1 A 1 3 4
# 3 C 7 8 9
# 5 E 1 3 3
# 6 F 2 4 5
最初の列の A、C、E、または F のケースが正確に必要な場合は、次を使用する必要がありますgrep
。
dfrm[ grep("^[ACEF]$", dfrm[,1]), ]
これらの文字が行名の場合は、rownames(dfrm)
代わりに使用しますdfrm[,1]
新しいオブジェクトを作成するには:
newobj <- dfrm[ grep("^[ACEF]$", dfrm[,1]), ]
あなたのコメントへ:Rオブジェクトとして後でload
セッションに保存するには:
save( newobj , file='newobj_file.rda')
テキストファイルとして保存するには:
write.table( newobj, file='newobj_out.txt')
さまざまなオプションについては ?write.table を参照してください。さらに詳しい背景については、インポート/エクスポート マニュアルを参照してください。これは R インストールの一部です。ヘルプ機能を使用してください。私のマシンでは、Rディレクトリに次のように配置されています: .... /doc/manual/R-data.html
DWin と csgilespie に感謝します。トリックは、私がもっと注目すべきベクトルです。
>dfrm
A 1 3 4
B 4 5 6
C 7 8 9
D 1 3 4
E 1 3 3
F 2 4 5
興味のあるリストはファイルに保存されます
subset <-read.table("infile", header=F)
>subset
1 A
2 C
3 E
4 F
> dfrm[rownames(dfrm) %in% subset[,1], ]
A 1 3 4
C 7 8 9
E 1 3 3
F 2 4 5
サブセットもデータフレームであることを知っておくべきでした。subset[,1] がうまくいきました。csgillespieさん、ありがとうございます!