r - 拆分 R 数据框中的列

标签 r

我在 R 数据框中有一列数据,其值如下:

Blue-#105
Green-#8845
Yellow-#5454
Blue-#999

我想删除最后的数字部分(从 -# 开始),以便 Blue-#999Blue-#105 在绘图时被认为是同一件事。我怎样才能做到这一点?

最佳答案

使用正则表达式:

> DF <- data.frame(col=c("Blue-#105", "Green-#8845", "Blue-#999"))
> DF
          col
1   Blue-#105
2 Green-#8845
3   Blue-#999
> DF$col <- gsub("-\\#.*", "", DF$col)
> DF
    col
1  Blue
2 Green
3  Blue
> 

这里我们说所有以 -# 开头的字符串(其中注释字符 # 需要转义)然后是 whatever - -- 在正则表达式术语中是 .*:任何字符(点)重复多少次就适合多少次(星号)--- 将被空字符串替换,换句话说, 已删除。

关于r - 拆分 R 数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3805452/

相关文章:

用于提取单词和字符之间所有单词的正则表达式

r - 将不同列表的子列表组合成数据框列表

r - 多个 data.table 列到一列向量

r - 如何对 `` dplyr `` or ` `tidyr`` 中的多列进行 rowSums?

r - 按组计算基于两列的唯一行数

r - 在 MS-Windows 下加密 R 脚本

r - 分类变量的多重共线性

arrays - 在 R 中迭代条件和

R:将 NA 替换为 seq 日期

r - 如何按月排序或排序?