「時価総額」列の合計を計算しようとしていますが、データフレームであり、数字の末尾に B があるため、計算できません。
私のデータフレームが Y と呼ばれる場合、533.5 + 15.449 などの合計を計算するために必要なコードは何ですか?
sum( as.numeric( sub("B$", "", as.character(Y$Capitalization) ) ) )
'MM' または 'M' エントリの可能性について提起された懸念が有効である場合は、一連のカスケードsub
呼び出しを実行することをお勧めします。
sum( as.numeric( sub("B$", "000000000",
sub("MM", "000000", as.character(Y$Capitalization) ) ) ) )
(これは、データを作成した人にとって「B」、「MM」、および「M」が実際に何を意味するかによって異なります。)
これは、私が考えることができる「正規表現」パターンのより単純な使用法の 1 つです。パターン "B$" は、文字ベクトル要素の最後の B に一致します。ベクトル全体がこれらの関数を通過するため、ループは必要ありません。単に「B」を使用すると、「3BB」のすべての B、「6BxB」の「4BBB」が削除されると思います。