2016-05-26 7 views
1

grepを使用してパターンを見つけ、単一の列データフレーム内の値を置き換えようとしています。私は基本的に "文字列の最後までコンマの後にすべてを削除する"と言うgrepが必要です。 私は式を書き、それが私のダミーベクトル上で動作します:Regexは動作しますが、私のベクトルの文字列にはありません

> library(stringr) 
> pretendvector <- c("Hi","Hi,there","Hi there, how are you") 
>str_replace(pretendvector, regex(',.*$'),'') 
[1] "Hi"  "Hi"  "Hi there" 

しかし、(そのstringrのために、私はデータフレームの列をベクトル化するので)私のベクトルに同じ式を適用し、それが内のすべての値を返すときこの列は、式を適用しません。なぜ誰かがこれがどういう考えを持っていますか?

+0

からsubを使用してこれを行うことができますオブジェクト? 'newvector < - str_replace(pretendvector、regex( '、。* $')、 '')' – akrun

答えて

0

私は、OPがstr_replaceの出力を新しいオブジェクトに割り当てなかったか、元のベクトルを更新しなかったと思います。その場合には、

newvector <- str_replace(pretendvector, regex(',.*$'),'') 

は、我々はまた、あなたがそれはあなたには、いくつかの出力を割り当てなかったCOLUMN`内のすべての値を返す `によって何を意味するのか明らかではないbase R

newvector <- sub(",.*", "", pretendvector) 
+0

これはうまくいきました。 – ALW94

関連する問題