首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查看“根”是否在使用r的“完整单词”中。

查看“根”是否在使用r的“完整单词”中。
EN

Stack Overflow用户
提问于 2020-03-19 06:00:54
回答 2查看 96关注 0票数 0

我有如下数据:

代码语言:javascript
复制
 head(orthographic)
         Word   Root
 1     manful    man
 2     carful   care
 3  basketful basket
 4 meaningful   mean
 5     boxful    box
 6    armsful   <NA>

我想看看Root这个词是否在Word里面。例如,man包含在manful中,拼写不会改变。但是,car更改为careful

代码语言:javascript
复制
My ideal output
        Word   Root      C
1     manful    man     No
2     carful   care     Yes
3  basketful basket     No
4 meaningful   mean     No
5     boxful    box     No
6    armsful   <NA>     <NA>

我尝试过的(基于其他人的帖子):

代码语言:javascript
复制
a=orthographic$Word
b=orthographic$Root

df$a %in% df$b
charmatch(df$a,df$b)
grepl(df$a,df$b)
grep(df$a,df$b)

然而,他们都没有给我我想要的输出。特别是,制定的所有守则:

代码语言:javascript
复制
2     carful   care     "NO" # (Instead of "Yes").

我感谢任何意见/解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-19 06:05:49

我们可以使用来自str_detectstringr

代码语言:javascript
复制
df$C <- c("Yes", "No")[stringr::str_detect(df$Word, df$Root) + 1]
df$C[is.na(df$Root)] <- NA
df
#        Word   Root    C
#1     manful    man   No
#2     carful   care  Yes
#3  basketful basket   No
#4 meaningful   mean   No
#5     boxful    box   No
#6    armsful   <NA> <NA>

数据

将数据保持为字符而不是因素。

代码语言:javascript
复制
df <- structure(list(Word = c("manful", "carful", "basketful", "meaningful", 
"boxful", "armsful"), Root = c("man", "care", "basket", "mean", 
"box", NA)), row.names = c("1", "2", "3", "4", "5", "6"), class = "data.frame")
票数 2
EN

Stack Overflow用户

发布于 2020-03-19 10:19:30

或者,使用ifelse语句(使用str_detect的想法归功于@Ronak )

代码语言:javascript
复制
df$C <- ifelse(str_detect(df$Word, df$Root), "No", "Yes")
df
        Word   Root    C
1     manful    man   No
2     carful   care  Yes
3  basketful basket   No
4 meaningful   mean   No
5     boxful    box   No
6    armsful   <NA> <NA>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60751677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档