首页 > 解决方案 > 对管道中的向量进行子集化和更改

问题描述

可重现的例子:

> foo <- rep("A",8) %>% .[c(2,4,8)] <- "D"
Error in rep("A", 8) %>% .[c(2, 4, 8)] <- "D" : 
  target of assignment expands to non-language object
> foo <- rep("A",8) %>% {.[c(2,4,8)] <- "D"}
> foo
[1] "D"

# Desired Result is a vector such as:
> A,D,A,D,A,A,A,D

上下文:我生成一个向量并希望将特定范围的元素更改为空字符串。我已经尝试过用括号括起来,但这似乎并没有执行我所追求的行为。有什么建议么?- 我觉得我可能以错误的方式接近这个......

我在一个管道中尝试这个,我可以在两行中用一个子集作为下面的答案之一,但我觉得这应该是可以实现的,而且我可能错过了一些相对简单的东西。

标签: rpipetidyverse

解决方案


推荐阅读