str_match
をstringr
から試してみました。これは簡単なテスト例で動作します。しかし、それはrtweetから戻って来て、そのデータ上では動作しません:rtweetのデータフレームのフィールドにstr_matchを使用
は、動作するようには思えない作らアップのデータフレームである:マッチを与え、フィルタリングしない
test <- data.frame(c(1), c('something'))
names(test) <- c('value', 'item')
subset(test, !anyNA(str_match(item,'thing')))
アイテムうち、生産:
value item
1 1 something
何か他のものにそれを変更する:
subset(test, !anyNA(str_match(item,'thang')))
。予想通り、アイテムを..filters:バックrtweetからくるデータフレーム内
[1] value item
<0 rows> (or 0-length row.names)
しかし、「mentions_screen_name」フィールドは次のようにサブセット化することができるようには思えません。他のロジック操作(mentions_screen_name == ...
など)は、列を選択するために機能します。しかし、フィールドの正確なテキストに一致する場合でも、!anyNA(str_match(mentions_screen_name, '...'))
は機能しません。
str_matchで選択できないようなデータを送信したいと思います。しかし、データを取得するスクリプトはrtweetを使用しており、 はTwitterアプリケーションの認証情報が必要です。
私のような単純な例は、しかし、動作します。 rtweetのデータには何か違いはありますか?
'str_match'は実際のマッチを抽出するために使われますが、' str_detect'を使うべきだと思います。パターンが文字列内にあれば論理的な結果を返します。そうすれば、一致するかどうかを知るために '!anyNA'を行う必要はありません。 –
@MattMills 'str_detect(haystack、needle)'と '!anyNA(str_match(haystack、needle))'の結果が異なる場合はありますか?私はRのプログラマーではないが、このケースを個人的に見た(そしてStackOverflowに尋ねることを提案した)。とにかく、 'mentions_screen_name'フィールドをコピー/ペーストで取り出し、それを"干草 "として使うならば、それは独立した呼び出しで動作します。しかし、文字列のリテラル同値性テストが行われていたのに対して、 'サブセット'演算のロジックがそうでなかったので、何とかしようとしました。 : - /このような状況で誰かがやってくれるかもしれないどんな種類の健全性チェック? – HostileFork