You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除数据框rownames中的英文点及后续字符?

移除数据框行名中点(.)及其后字符的方法

以下是几种在R中快速实现需求的实用方法:

方法1:基础R的sub()函数(无需额外包)

用正则表达式匹配第一个英文点及其之后的所有内容,替换为空字符串即可:

# 修改行名
rownames(data) <- sub("\\..*", "", rownames(data))

# 验证结果
head(rownames(data))

正则说明:\\.转义后匹配实际的英文点,.*匹配点之后的任意字符(任意长度),整体将这部分替换为空,仅保留点之前的内容。

方法2:使用stringr包的str_remove()(tidyverse风格)

如果习惯用tidyverse工具链,这个方法语法更直观:

# 未安装stringr包可先执行:install.packages("stringr")
library(stringr)
rownames(data) <- str_remove(rownames(data), "\\..*")

# 验证结果
head(rownames(data))

方法3:分割字符串后取第一部分

通过str_split_fixed将行名按点分割成两部分,直接提取第一部分:

library(stringr)
rownames(data) <- str_split_fixed(rownames(data), "\\.", 2)[, 1]

# 验证结果
head(rownames(data))

小提示

操作前建议先备份原始行名,避免误操作无法恢复:

original_rownames <- rownames(data)

内容的提问来源于stack exchange,提问作者YiHao Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:24:22