首页 > 解决方案 > 从列中删除元素“*”和“字母”

问题描述

我的数据集中有一些列,或者在最后一个位置有一个 * 或者一个从 A 到 G 的字母。有人可以解释为什么这些在数据集中以及如何从列中删除它们?因为当这些元素仍然包含时,我无法对变量进行分析。例如 73.5* 或 0.00G。

标签: rdelete-rowremove-if

解决方案


您可以使用gsub.

模式匹配*(必须转义,\\因为它是一个特殊字符)或出现在字符串末尾的大写字母(用 表示$)。然后它什么都没有替换它,"".

dataframe <-data.frame(ID = 1:3,column = c("73.5*","0.00G","2.84"))
dataframe 
#  ID column
#1  1  73.5*
#2  2  0.00G
#3  3   2.84

dataframe$column <- gsub("(\\*|[A-Z])$","",dataframe$column)
#  ID column
#1  1   73.5
#2  2   0.00
#3  3   2.84

推荐阅读