在R语言中如何对数据框指定列每行数值的首位数字求和
R 提取数值列首位数字求和的实现方法
首先我们先构造和你示例一致的测试数据:
df <- data.frame( letter = c("a", "b"), number = c(10, 11) )
你可以通过以下两种常用方式实现需求:
- 字符串处理法(写法最简单直观)
把数值转为字符串后提取首字符,再转回整数求和即可,代码如下:sum(as.integer(substr(as.character(df$number), 1, 1))) - 数学计算法(适合处理超大数值、性能要求更高的场景)
先计算每个数值的位数,再通过整数除法提取首位后求和,代码如下:digits <- floor(log10(df$number)) + 1 sum(df$number %/% (10^(digits - 1)))
两种方法运行后都会得到你需要的结果2。
内容的提问来源于stack exchange,提问作者user15288243
相关产品推荐
相关产品推荐

