4

我尝试做类似的事情

df[<very-long-and-complicated-selection>,]$foo <- "bar"

如果有与选择匹配的行,这很好用。

如果没有,我会收到一条错误消息

$<-.data.frame( *tmp*, "foo", value = "bar")中的错误:
替换有 1 行,数据有 0

但是,我的代码的设计方式无法匹配。

是否有一个干净、简短和简单的解决方案来避免这些(并且只有这些)错误?

4

2 回答 2

12

利用

df[<very-long-and-complicated-selection>, "foo"] <- "bar"

即,将分配放入数据框中,将其视为二维对象,而不是列表。

于 2013-06-14T11:15:52.477 回答
0

使用dplyr

d %>% dplyr::mutate(n = ifelse(c == 'a', 5, n))
于 2016-12-29T15:39:13.620 回答