如何仅为R中具有特定字符串的行将列粘贴在一起

如何仅为R中具有特定字符串的行将列粘贴在一起,r,R,我有一个数据帧(df1): 我尝试了这一点,它给出了“真”或“假”,并且仍然将所有图案粘贴在一起: df1$var3=paste(df1$var1,"_",grepl("unknown", df1$var2) 提前谢谢 如果接近,请使用ifelse执行矢量化条件 paste0(ifelse(grepl(“未知”,df1$var2),paste0(df1$var1,“,”),df1$var2) #[1]“uniqA”“uniqB”“c_未知”“uniqC”

我有一个数据帧(df1):

我尝试了这一点,它给出了“真”或“假”,并且仍然将所有图案粘贴在一起:

df1$var3=paste(df1$var1,"_",grepl("unknown", df1$var2)

提前谢谢

如果接近,请使用
ifelse
执行矢量化条件

paste0(ifelse(grepl(“未知”,df1$var2),paste0(df1$var1,“,”),df1$var2)
#[1]“uniqA”“uniqB”“c_未知”“uniqC”“e_未知”

您也可以使用
ifelse()


df1$var3完美,谢谢!(我想的更多的是
“unknown”
的模式,而不是字面意义上的模式。正如@akaDrHouse所显示的,相等可以很好地工作。我在这里的回答不需要
grepl
,如果它确实总是字面意义上的相等。)
df1 <- data.frame(var1 = c('a', 'b', 'c', 'd', 'e'),
                  var2 = c('uniqA', 'uniqB', 'unknown', 'uniqC', 'unknown'),
                  var3 = c('uniqA', 'uniqB', 'c_unknown', 'uniqC', 'e_unknown'))
df1$var3 = paste(df1$var1,"_",df1$var2)
df1$var3=paste(df1$var1,"_",grepl("unknown", df1$var2)
df1$var3 <- ifelse(df1$var2 == "unknown",
                   paste0(df1$var1,"_",df1$var2),
                   df1$var2)