从 R 中单个列中的所有数据中删除前缀

Posted

技术标签:

【中文标题】从 R 中单个列中的所有数据中删除前缀【英文标题】:Remove prefix from all data in a single column in R 【发布时间】:2016-08-12 03:44:51 【问题描述】:

我会有一个数据如下所示的列:

M999-00001
M999-00002
...

有没有办法删除R中列中的所有'M'?

【问题讨论】:

嗨,欢迎来到堆栈溢出。下次尝试发帖a reproducible example。看看substr 【参考方案1】:

我们可以使用sub

df1[,1] <- sub("^.", "", df1[,1])

或使用substring

substring(df1[,1],2)

数据

df1 <- data.frame(Col1 = c("M999-00001", "M999-0000"), stringsAsFactors=FALSE)

【讨论】:

【参考方案2】:

你也可以使用 gsub 函数

Col1 <- gsub("[A-z]","",Col1)
[1] "999-00001" "999-0000" 

数据

Col1 = c("M999-00001", "M999-0000")

【讨论】:

【参考方案3】:
df %>%
transform(col_name=str_replace(col_name,"M",""))

只有在你安装了stringr库和magrittr库时才使用它

【讨论】:

以上是关于从 R 中单个列中的所有数据中删除前缀的主要内容,如果未能解决你的问题,请参考以下文章

如何将列中的所有数据移动到单个列(不合并),然后拆分为R中的新列?

R:从R中的大型数据集中根据列中的值删除行[重复]

如何访问R中表中的单个元素

删除单个单元格中的重复ID

Pyspark 删除数据框列中的多个字符

有没有办法从 R 的列中取出异常值?