从列中删除 ★ 符号?

问题描述 投票:0回答:1

尝试从列中删除 ★ 符号,但无济于事。

dput(star$fifa21_raw_data.W.F[1:20])

c("4★", "4★", "3★", "5★", "5★", "4★", "4★", “3★”、“3★”、“4★”、“3★”、“4★”、“3★”、“3★”、 “4★”、“4★”、“3★”、“4★”、“3★”、“4★”)

我到处看了,感觉 gsub 在这里可以解决问题,所以我尝试了:

gsub('[★]([0-9]+)','\\1\\2', star$fifa21_raw_data.W.F)

和 R 打印出相同的结果:

[1] “4★” “4★” “3★” “5★” “5★” “4★” “4★” “3★” “3★” “4★” [11]“3★”“4★”“3★”“3★”“4★”“4★”“3★”“4★”“3★”“4★”

我很茫然。感谢您在这方面为我提供的帮助。

r gsub
1个回答
0
投票

您的正则表达式与您的数据不匹配。它正在寻找一个星号后跟数字,但您的输入数据是一个数字后跟一个空格和一个星号。如果我们用空字符串替换空格和星号:

gsub(" ★","",star$fifa21_raw_data.W.F)

它返回以下内容

 [1] "4" "4" "3" "5" "5" "4" "4" "3" "3" "4" "3" "4" "3" "3" "4" "4" "3" "4" "3" "4"

如果您想从字符向量进行转换,则可以使用 as.numeric() 函数。

© www.soinside.com 2019 - 2024. All rights reserved.