在R中,我试图根据另一列中的字符串模式替换一列中的空白值。
以下是数据框(df)的外观:
df
qual bdl
U <
UJ
J
U- <
UU
NA
U <
这是我希望数据框看起来像的样子:
df
qual bdl
U <
UJ <
J
U- <
UU <
NA
U <
对于df$qual
中包含“ U”的每一行,我希望df$bdl
包含“ <”。
使用stringr包,我尝试了以下代码:
data$bdl <- ifelse(str_detect(data$qual, "U") & data$bdl != "<", "<", data$bdl)
但是我最终在整个列df$bdl
中获得了NAs
我不确定如何解决此问题。
答案 0 :(得分:0)
使用grepl
:
df_1$bdl[grepl("U", df_1$qual)]="<"
输出:
qual bdl
1 U <
2 UJ <
3 <NA> <
4 J
5 U- <
6 UU <
7 <NA>
8 U <