0

R を使用して、次の形式の 2 つの .txt ファイルを比較する必要があります。

file1 の行:

1-11!AIVDM,1,1,,B,11b4N?@P?w<tSF0l4Q@>4?wp1`Oo,0*3D
 1347204643
2-12$GPRMC,153102,A,6300.774,N,05238.627,W,12.9,186,090912,30,W*79
 1347204664

(ここでは何らかの理由で時間(1347204643)が別の行にあります)

file2 の行:

#1:1347204643:11!AIVDM,1,1,,B,11b4N?@P?w<tSF0l4Q@>4?wp1`Oo,0*3D
#2:1347204664:12$GPRMC,153102,A,6300.774,N,05238.627,W,12.9,186,090912,30,W*79

行の先頭にある同じ ID (ここでは 1 と 2 など) が両方のファイルに存在するかどうかを確認することにのみ関心があります (file1 に存在する ID が file2 にも存在する場合)。

誰かがこれで私を助けることができますか? 事前にどうもありがとうございました!

4

1 に答える 1

1

次のようなことができます:

最初に、2 つのファイルを読み取ります。readLines

ll1 <- readLines(textConnection('#1:1347204643:11!AIVDM,1,1,,B,11b4N?@P?w<tSF0l4Q@>4?wp1`Oo,0*3D
#2:1347204664:12$GPRMC,153102,A,6300.774,N,05238.627,W,12.9,186,090912,30,W*79'))
ll2 <- readLines(textConnection('1-11!AIVDM,1,1,,B,11b4N?@P?w<tSF0l4Q@>4?wp1`Oo,0*3D
 1347204643
2-12$GPRMC,153102,A,6300.774,N,05238.627,W,12.9,186,090912,30,W*79
 1347204664'))

いくつかの治療を行います

#Remove '#` fom the first files
ll1 <- gsub('#','',ll1)
#Take only the odd lines from the second file
ll2 <- ll2[c(TRUE,FALSE)]

を使用して各行のインデックスを抽出しますsubstr

ll1 <- substr(ll1,1,1)
ll2 <- substr(ll2,1,1)

これで、次の 2 つのリストが作成されました。

ll1
[1] "1" "2"
> ll2
[1] "1" "2

比較するには、使用できますmatch

match(ll1,ll2)
[1] 1 2
于 2013-03-25T20:30:30.737 に答える