[解決済み] 文字列の各列に指定された文字が出現する回数を計算するには?
2022-07-27 16:51:43
質問
ある変数がテキスト文字列を含むdata.frameを持っています。 私は、各個別の文字列内の与えられた文字の出現回数をカウントしたいと思います。
例
q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not"))
q.dataに、文字列中の"a"の出現回数(例:c(2,1,0))を表す新しい列を作成したいのですが、可能でしょうか?
私が管理した唯一の複雑なアプローチは、です。
string.counter<-function(strings, pattern){
counts<-NULL
for(i in 1:length(strings)){
counts[i]<-length(attr(gregexpr(pattern,strings[i])[[1]], "match.length")[attr(gregexpr(pattern,strings[i])[[1]], "match.length")>0])
}
return(counts)
}
string.counter(strings=q.data$string, pattern="a")
number string number.of.a
1 1 greatgreat 2
2 2 magic 1
3 3 not 0
どのように解決するのですか?
stringrパッケージは
str_count
関数があり、これはあなたが興味を持っていることを行うようです。
# Load your example data
q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not"), stringsAsFactors = F)
library(stringr)
# Count the number of 'a's in each element of string
q.data$number.of.a <- str_count(q.data$string, "a")
q.data
# number string number.of.a
#1 1 greatgreat 2
#2 2 magic 1
#3 3 not 0
関連
-
[解決済み】正規表現における括弧のエスケープについて
-
[解決済み] Regex:最初に出現する文字までのマッチング
-
[解決済み] 小数点以下2桁までの値にマッチする正規表現
-
[解決済み] 半角スペース用正規表現
-
[解決済み] 2回目以降で一致する
-
[解決済み] Regex - ハイフンはエスケープされるべきか?重複
-
[解決済み] アドレスフィールド検証のための正規表現
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] apply()関数を1つの列に対して使用するにはどうすればよいですか?
-
[解決済み] data.frameの各行を列で指定された回数だけ繰り返す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Regexのオプショングループ
-
[解決済み】REエラー:Mac OS Xでの不正なバイトシーケンス
-
[解決済み】Vimで正規表現に置換すると、`E488: Trailing characters`が発生します。
-
[解決済み】正規表現における括弧のエスケープについて
-
[解決済み] 正規表現で複数の単語を任意の順序で並べる [重複]。
-
[解決済み] この正規表現に負の小数点を含めるにはどうしたらよいですか?
-
[解決済み] GNU sed の lookahead 正規表現がおかしいのですが?
-
[解決済み] 正規表現[^ΘdΘs]と[ΘdΘs]の違いは何ですか?
-
[解決済み] RegexにおけるOR条件
-
[解決済み] Regex - 特定の文字が含まれていません。