我有这个数据框df
df
col1 col2
Engraulis encrasicolus Engraulis encrasicolus
Sardina pilchardus Sardina pilchardus
Scomber spp Scomber
Spicara Spicara
class(df)
"factor"
我想将col2
中出现的每次字母'spp'粘贴到col1
中
例如:
col1 col2
Engraulis encrasicolus Engraulis encrasicolus
Sardina pilchardus Sardina pilchardus
Scomber spp Scomber spp
Spicara Spicara
我尝试过:
df.res <- ifelse(df$col1 %like% "spp"==T,
paste("spp",collapse=NULL) %in% df$col2,df$col1)
但是结果是类似的数据帧df
,其字符串和值逻辑为FALSE:
df.res
"Engraulis encrasicolus"
"Sardina pilchardus"
"FALSE"
"Spicara"
答案 0 :(得分:1)
使用基本R:
df.res <- ifelse(grepl("spp", df$col1),
paste0(df$col2, " spp"), df$col2)
或作为原始数据框中的附加列:
df$col3 <- ifelse(grepl("spp", df$col1),
paste0(df$col2, " spp"), df$col2)