【发布时间】:2016-08-23 19:44:14
【问题描述】:
我正在尝试修改由 dplyr 过滤的 data.frame,但我似乎不太了解我需要做什么。在下面的示例中,我尝试过滤数据框 z,然后为第三列分配一个新值——我给出了两个示例,一个带有“9”,一个带有“NA”。
require(dplyr)
z <- data.frame(w = c("a", "a", "a", "b", "c"), x = 1:5, y = c("a", "b", "c", "d", "e"))
z %>% filter(w == "a" & x == 2) %>% select(y)
z %>% filter(w == "a" & x == 2) %>% select(y) <- 9 # Should be similar to z[z$w == "a" & z$ x == 2, 3] <- 9
z %>% filter(w == "a" & x == 3) %>% select(y) <- NA # Should be similar to z[z$w == "a" & z$ x == 3, 3] <- NA
但是,它不起作用:我收到以下错误消息:
“z %>% 过滤器中的错误(w == "a" & x == 3) %>% select(y) %
我知道我可以使用旧的 data.frame 表示法,但是 dplyr 的解决方案是什么?
谢谢!
【问题讨论】:
-
您的
y是一个字符列。你在为它分配9做什么?