抱歉,如果这是一个简单的解决方案,我仍然是新的R
我有一个数据集,它的一些列既包含字符串又包含数字(https://i.stack.imgur.com/MjzvI.png)
我想将所有的“-”和“&”字符串值分别转换为-998和-999作为数值,但无法找到实现这一点的解决方案
我试过
df[df=="-"] = -998
df[df=="&"] = -999
但我收到“Error in vec_equal()
:!无法合并..1
和..2
。”
我也试过把“-998”放在引号里,我想我可以把它转换成数字,但仍然收到同样的错误,同样的事情使用“which”函数
3条答案
按热度按时间ejk8hzay1#
在Tidyverse语法中,您可以尝试
创建于2023年3月30日,使用reprex v2.0.2
8wigbo562#
将
stringi::stri_replace_all_regex
与sprintf
一起使用,使事情变得更简单。e0bqpujr3#
另一种基本的R方法,使用@jay.sf的启动
dat
:或者如果您想要一个代码路径(也许您有更多的模式要重新编码/替换),
在这两种情况下,如果您的模式包含regex特殊字符(包括但不限于
.
、?
、*
、[
、(
),则需要对它们进行转义,可能使用stringr::str_escape
。