如何从R中的列中删除特定字符
我有一个属性,其中*与数值一起出现。我希望从数值中删除此*标记。我应该试试什么? 示例-将A转换为B A列-54、6*、9、0、189*、34、58*如何从R中的列中删除特定字符,r,data-cleaning,R,Data Cleaning,我有一个属性,其中*与数值一起出现。我希望从数值中删除此*标记。我应该试试什么? 示例-将A转换为B A列-54、6*、9、0、189*、34、58* 列B-54、6、9、0、189、34、58我们可以使用gsub和fixed=TRUE,因为*是一个元字符,表示0个或更多字符。因此,我们需要fixed=TRUE(或者转义\\\*,或者将其放在方括号内[*])来获取文本值 gsub("*", "", df1$Column1, fixed = TRUE) #[1] "54" "6" "9"
列B-54、6、9、0、189、34、58我们可以使用
gsub
和fixed=TRUE
,因为*
是一个元字符,表示0个或更多字符。因此,我们需要fixed=TRUE
(或者转义\\\*
,或者将其放在方括号内[*]
)来获取文本值
gsub("*", "", df1$Column1, fixed = TRUE)
#[1] "54" "6" "9" "0" "189" "34" "58"
如果每个字符串中只有一个*
,则sub
就足够了
sub("*", "", df1$Column1, fixed = TRUE)
#[1] "54" "6" "9" "0" "189" "34" "58"
或
或
然后按.numeric转换为numeric
as.numeric(sub("[*]", "", df1$Column1))
sub("[*]", "", df1$Column1)
#[1] "54" "6" "9" "0" "189" "34" "58"
as.numeric(sub("[*]", "", df1$Column1))
sub("\\*","",A)
[1] "- 54" " 6" " 9" " 0" " 189" " 34" " 58"