如何对因子变量求和

jer*_*aub 1 datetime r dataframe

我正在尝试做"市值"栏目的总和,但我无法,因为它是一个数据帧,并且数字最后有一个B.

如果我的数据框被称为Y,那么计算533.5 + 15.449之和所需的代码是什么等等?

在此输入图像描述

42-*_*42- 6

sum( as.numeric( sub("B$", "", as.character(Y$Capitalization) ) ) )
Run Code Online (Sandbox Code Playgroud)

如果提出关于可能的'MM'或'M'条目的问题是有效的,您可能想要进行一组级联sub调用:

sum( as.numeric( sub("B$", "000000000", 
                      sub("MM", "000000",  as.character(Y$Capitalization) ) ) ) )
Run Code Online (Sandbox Code Playgroud)

(这取决于'B','MM'和'M'对构建数据的人真正意味着什么.)

这是我能想到的"正则表达式"模式的一个更简单的用法.模式"B $"将匹配字符向量元素中的最后一个B. 因为整个向量将通过这些函数,所以不需要循环.我想人们可以简单地使用"B",它将删除"6BB"中的所有 B,"6BxB"中的"4BBB".