我是R的新手,请耐心等待!我有一个名为mydata
的数据框。以下是相关列的示例:
Backlog.Item.Type Description
Feature Assignment 1
Product Backlog Item As a user I want to
Task Do this
现在,我想要完成的是:如果Description
中的部分字符串匹配'作为'或者'作为',我想用{00}用户故事'替换Backlog.Item.Type
列的行值。要选择这些行,我使用
x <- mydata[grepl("As a", mydata[["Description"]]) | grepl("As an", mydata[["Description"]]), ]
但是,我不知道如何替换Backlog.Item.Type
列中的相应值。这可能很简单,但任何帮助将不胜感激!在此先感谢,我希望我已经足够清楚,并以可理解的方式提出我的问题!
答案 0 :(得分:0)
我想会有一个更优雅的解决方案,不过这样就可以解决问题了:
library(stringr)
df=tibble(Backlog=c("Feature","Product","Task"),Description=c("Assignment 1","As a user i want to","Do this"))
matches<-c("a user","an user")
matchTable=sapply(matches,function(x) str_detect(df$Description,x))
rows=sapply(1:nrow(df),function(x) any(matchTable[x,1],matchTable[x,2]))
df$Description[rows]='User Story'
答案 1 :(得分:0)
library(stringr)
library(dplyr)
mydata %>%
mutate(
Backlog.Item.Type = case_when(
str_detect(mydata$description, "As a") | str_detect(mydata$description, "As an") ~ "User Story",
!(str_detect(mydata$description, "As a") | str_detect(mydata$description, "As an"))) ~ Backlog.Item.Type
)
)