【发布时间】:2018-07-02 08:53:17
【问题描述】:
我正在尝试用stringr 中的向量来改变和替换列值。我遇到了一些问题,我猜这些问题与函数的回收方式有关。我是 R 新手,似乎无法弄清楚我做错了什么。
我要更改的列:
[1] "3+4" "3+3" NA "3+4" NA "4+3" "4+4" "4+3" "4+4" "5+4" "4+3" "4+3" "3+4" "4+3"
[15] "4" NA "4+3" NA NA "3+4" "4+5" NA "3+4" NA NA "3+4" NA "3+4"
[29] "3+4" "3+4" "3+3" "3" NA "3+3" "3+3" NA "4+5" NA "3+3" "3+4" "4+4" "3+4"
[43] "4+4" "3+3" "3+4" "3+4" NA "4+3" "4+3" "3+3" "3+3" "3+4"
我想将其更改为 3+3 = 1、3+4 = 2、4+3 = 3、4+4 = 4、4+5 = 5、5+5 = 5。这些是前列腺癌的 Gleason 评分和 Gleason 分级组。
有时运行一个就可以了:
mrgb_trus <- mrgb_trus %>%
mutate(MRGGG = str_replace_all(MRGB_gleason, "3\\+4", "2"))
添加向量:
mrgb_trus <- mrgb_trus %>%
mutate(MRGGG = str_replace_all(MRGB_gleason, c("3\\+3", "3\\+4", "4\\+3",
"4\\+4", "4\\+5", "5\\+4",
"5\\+5"), c("1", "2", "3",
"4", "5", "5", "5")))
产生警告
Warning message:
In stri_replace_first_regex(string, pattern, fix_replacement(replacement), :
longer object length is not a multiple of shorter object length
并且不返回所需的输出。我究竟做错了什么?如您所见,还有一些 NAs 和两个值 "3" 和 "4" 与模式不匹配。我还想将NAs 更改为0 和3 和4 更改为1。
【问题讨论】:
-
4+5和5+5都达到了5的关卡,还是你在那里打错字了?