如何在R语言指定列的两位数字后插入小数点分隔符?
解决方案
假设你的数据框名为df,可以根据数据列的类型选择以下方法:
方法一:数值型列(推荐)
如果你的Latitude和Longitude列是数值类型,直接通过除法运算即可实现需求——因为要在两位数字后插入小数点,等价于将数值除以10000:
基础R实现
# 单独处理每一列 df$Latitude <- df$Latitude / 10000 df$Longitude <- df$Longitude / 10000 # 或者批量处理所有列 df <- df / 10000
dplyr包实现(更简洁的批量处理)
如果你习惯使用tidyverse工具链:
library(dplyr) df <- df %>% mutate(across(everything(), ~ .x / 10000))
方法二:字符型列
如果你的数据列是字符类型(比如导入时被识别为字符串),可以通过字符串替换来插入小数点:
df$Latitude <- as.numeric(sub("^(-?\\d{2})", "\\1.", df$Latitude)) df$Longitude <- as.numeric(sub("^(-?\\d{2})", "\\1.", df$Longitude))
这里的正则表达式^(-?\\d{2})会匹配开头的正负号(可选)加两位数字,然后用\\1.替换,即在匹配到的内容后添加小数点,最后转成数值类型。
内容的提问来源于stack exchange,提问作者Danielle A C Ferreira
相关产品推荐
相关产品推荐

