如何在r中根据'this'条件粘贴字符串?
How to paste character string based on 'this' condition in r?
我有这个数据框df
df
col1 col2
Engraulis encrasicolus Engraulis encrasicolus
Sardina pilchardus Sardina pilchardus
Scomber spp Scomber
Spicara Spicara
class(df)
"factor"
我想在 col2
中每次出现 col1
时粘贴字母 'spp'
例如:
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"
使用基础 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)
我有这个数据框df
df
col1 col2
Engraulis encrasicolus Engraulis encrasicolus
Sardina pilchardus Sardina pilchardus
Scomber spp Scomber
Spicara Spicara
class(df)
"factor"
我想在 col2
中每次出现 col1
时粘贴字母 'spp'
例如:
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"
使用基础 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)