.txt ファイルのいくつかの行をクエリする際に問題があります。私は多くのことを試し、何日もウェブを検索しましたが、解決策はありませんでした. あなたは私の最後の希望です。
そのため、venues.txt ファイルが含まれています。
VenueID,VenueName,Latitude,Longitude,CategoryID
0,Jack's Bar,40.42884343951221,-79.98663783073425,4bf58dd8d48988d118941735
1,Diesel Club Lounge,40.42888924,-79.98248641666666,4bf58dd8d48988d1e9931735
2,Casey's Draft House,40.42882016666667,-79.98013614,4bf58dd8d48988d116941735
3,Carson City Saloon,40.42888806,-79.98406728333333,4bf58dd8d48988d11d941735
何千もの会場に。
このファイルを R にインポートしました。
venues= read.csv('venues.txt')
sqldf パッケージを使用してこのファイルをクエリしたところ、機能しました。ただし、一部の会場 (主に会場 ID 40000 から 60000 の間の会場) のデータを取得/クエリできないことに気付きました。たとえば、venueID 59900 を照会することはできません。
> sqldf("select * from venues where venueID=59900 ")
[1] VenueID VenueName Latitude Longitude CategoryID
<0 rows> (or 0-length row.names)
一方、ファイルの最後の会場、venueID 85927 についても可能です。
> sqldf("select * from venues where venueID=85927 ")
VenueID VenueName Latitude Longitude
1 85927 School Of Information Sciences University Of Pittsburgh 40.44739203700654
CategoryID
1 -79.95260743126077
問題は、このファイルをインポートして、さまざまな方法でクエリを実行しようとしたことです。結果はありません!!
テキストファイルを開いてこれらの会場を調べたところ、すべて問題ありませんでした。すべての情報が含まれ、カンマで区切られています。
確認するために、新しい testven.txt ファイルを作成し、これらの「取得されていない」会場の情報をいくつかコピーして、それを testven.txt に貼り付けました。このファイルをインポートして、venuesID 59900 を照会したところ、結果が得られました。
> testven= read.csv('testven.txt')
> sqldf("select * from testven where venueID=59900 ")
VenueID VenueName Latitude Longitude CategoryID
1 59900 Double Deuce 40.42993 -79.77924 4bf58dd8d48988d103941735
何が悪いのかわからず、それは私を殺しています。
考えられることはすべて実際に試しましたが、私にとっての時間は非常に重要です。
アップデート:
これは会場ファイルの構造です:
> str(venues)
'data.frame': 61357 obs. of 5 variables:
$ VenueID : Factor w/ 60853 levels "-79.70628261566162",..: 82 83 10724 19015 30126 33116 38172 47687 57814 59741 ...
$ VenueName : Factor w/ 49345 levels "","'Da Crib",..: 21549 12770 8624 8178 22268 39033 14634 23980 39697 24834 ...
$ Latitude : Factor w/ 44099 levels "","-79.92486689605576",..: 17039 17077 17018 17076 17074 16923 17048 23856 23856 16035 ...
$ Longitude : Factor w/ 42204 levels "","-79.520651",..: 20023 19375 19026 19632 19222 18712 19526 20696 20530 10396 ...
$ CategoryID: Factor w/ 1007 levels "","-79.70832109451294",..: 678 912 674 687 674 674 695 691 687 695 ...
これは、testven ファイルの構造です。
> str(testven)
'data.frame': 27 obs. of 5 variables:
$ VenueID : int 59895 59896 59897 59898 59899 59900 59901 59902 59903 59904 ...
$ VenueName : Factor w/ 27 levels "$crilla Villa",..: 21 25 2 18 4 8 15 7 12 27 ...
$ Latitude : num 40.4 40.4 40.5 40.5 40.4 ...
$ Longitude : num -79.8 -80 -80 -80 -79.8 ...
$ CategoryID: Factor w/ 16 levels "4bf58dd8d48988d103941735",..: 16 8 5 1 1 1 13 1 12 14 ...
なんと、柱の種類に違いが!!!testven ファイルは会場ファイルのサブセットですが。