作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用包含诊断编码的数据集,我正在尝试查看 follow_up_code
是否在 discharge_codes
中。遗憾的是,放电代码是以字符串形式提供的,而不是向量。
mre <- tribble(
~patient_id, ~discharge_codes, ~follow_up_code,
1234 , "A_B_C" , "A",
4567 , "D_E_F" , "C",
7890. , "A_C_E". , "E"
)
我尝试将 flatten_chr()
与 str_split()
一起使用,以允许我搜索 follow_up_code %in% discharge_codes
,但这会变平discharge_codes
完全(而不是患者),并且使用 rowwise() %>% mutate(... flatten_chr())
错误为“.x 必须是一个列表,不是字符向量”。
我觉得我一定遗漏了一些东西,无论是在我采用的方法中,还是有更直接的方法来实现这一点?
最佳答案
您可以将文本列转换为字符向量,然后查看代码是否在该向量中。这样做的好处是,如果需要,discharge_codes
现在可用于其他用途。
library(dplyr)
library(purrr)
library(stringr)
mre %>%
mutate(discharge_codes = str_split(discharge_codes, "_"),
match = map2_lgl(discharge_codes, follow_up_code, ~ .y %in% .x))
您可以看到 discharge_codes
现在是一个包含字符向量的列表列。
# A tibble: 3 x 4
patient_id discharge_codes follow_up_code match
<dbl> <list> <chr> <lgl>
1 1234 <chr [3]> A TRUE
2 4567 <chr [3]> C FALSE
3 7890 <chr [3]> E TRUE
关于按行 flatten_chr() 或 unlist() 将字符串转换为向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72913969/
我正在使用包含诊断编码的数据集,我正在尝试查看 follow_up_code 是否在 discharge_codes 中。遗憾的是,放电代码是以字符串形式提供的,而不是向量。 mre % mutate
我是一名优秀的程序员,十分优秀!