【发布时间】:2022-06-15 00:48:21
【问题描述】:
假设我有一个向量:
v <- c(a=1, b=2, c=3, d=4)
v
a b c d
1 2 3 4
我想创建一个新的向量new_v,这样:如果一个元素可以在v中找到,则它等于v中的值,否则分配给0。例如e、f和g在v中不存在,它们都被赋值为0,这样:
> new_v
a b c d e f g
1 2 3 4 0 0 0
我知道它可以由ifelse 为每个元素创建。由于我有一个长向量,我想知道创建它的最佳方法是什么。
【问题讨论】:
-
setdiff可能会更好v[setdiff(letters[1:7], names(v))] <- 0
标签: r