【发布时间】:2021-01-21 05:50:03
【问题描述】:
我有一个数据框 df
这是一个包含数百列数据的大型数据框。特别是 40 列具有相似名称的数据 TD1、TD2 ..... TD40。我想扫描每一行,如果任何值以 Z50 开头,我希望列 Category 中的行值更改为“Surgery”。因此,在上面的示例中,第 1 行和第 3 行将从“Cardiac”转换为“Surgery”。
在整个代码为 Z50 的类似示例中,我使用了:
df %>%
rowwise()%>%
mutate(Category = if(any(c_across(starts_with("TD")) == "Z50"))
"Surgery" else Category)
现在我只希望前 3 个字符等于 Z50。我假设我会使用 grepl 函数,但不确定如何将其合并到原始代码中。好吧,到目前为止它对我不起作用。 有任何想法吗?。谢谢
【问题讨论】:
-
请考虑accept one of the answer,点击左侧的复选标记最适合您。每个帖子只能接受一个答案。
标签: r if-statement replace grepl