R - 使用字符串的多列条件替换

时间:2017-04-12 00:10:58

标签: r

我正在尝试以df中的另外两列为条件替换列中的值。我的数据如下:

Namedf = data.frame(rbind(c("bob","jones","bob"), c("sally","sue","sally"), c("bill","jones","bill")))
colnames(Namedf) <- c("first", "last", "label")
  first  last label
1   bob jones   bob
2 sally   sue sally
3  bill jones   bill

我想要的是:

  first  last label
1   bob jones   bob
2 sally   sue   sue
3  bill jones   bill

所以我想让Namedf $ label =='sue'在哪里(Namedf $ first =='sally'&amp; Namedf $ last =='sue')。

我一直在尝试这些失败:

Namedf$label <- ifelse(Namedf$first == 'sally' & Namedf$last == 'sue', 'sue', Namedf$first)

这会将标签列更改为1'的'bob'和'bill',但确实会将sally更改为sue。

Namedf$label[Namedf$first == 'sally' & Namedf$last == 'sue'] <- 'sue'

这会导致sally条目缺失。

任何帮助都将不胜感激。

0 个答案:

没有答案