如何对因子变量求和

时间:2012-06-26 19:42:13

标签: r datetime dataframe

我正在尝试“市场资本化”栏目的总和,但我无法,因为它是一个数据框,并且数字最后有一个B.

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

enter image description here

1 个答案:

答案 0 :(得分:6)

sum( as.numeric( sub("B$", "", as.character(Y$Capitalization) ) ) )

如果引起关注可能的MM' MM'或者' M'条目有效您可能想要进行一组级联sub来电:

sum( as.numeric( sub("B$", "000000000", 
                      sub("MM", "000000",  as.character(Y$Capitalization) ) ) ) )

(这取决于' B'' MM'以及' M'实际上对构建数据的人意味着什么。)

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