2

经过大量的试验/错误和搜索功能后,我仍然对我认为简单的事情(一如既往,hrmpf)一无所知:

我在数据框中有一列,在该列中,每隔一段时间x$question就有一个表达式,我只是希望将其更改为.'A/V''A / B'

我在这里和那里尝试了一点,并认为这应该可行:

 x$question[agrep('A/V',x$question)]<-'A / B'

但我得到了错误:

In `[<-.factor`(`*tmp*`, agrep('A/V',  :
invalid factor level, NAs generated    

或者我可以这样做

agrep('A/V','A / B', x$question).

但在这里我得到了错误:

Error in .amatch_bounds(max.distance) : 
match distance components must be non-negative

由于我完全没有想法,如果您有建议,或者可能是用另一个字符串替换字符串的更简单方法,我将非常感激。

4

1 回答 1

1

这行得通吗?

 gsub("A/V","A/B",x$question)

例子:

x<-c("A/V", "A/V", "A/V")
x<-gsub("A/V","A/B",x)
>x
[1] "A/B" "A/B" "A/B"

注意:您也可以使用ifelse它。

> ifelse(x=="A/B","A/V",x)
[1] "A/V" "A/V" "A/V"
于 2013-08-06T14:43:59.323 回答