gpt4 book ai didi

r - 如果不在 R 向量中,如何将元素分配为零?

转载 作者:行者123 更新时间:2023-12-02 15:50:31 26 4
gpt4 key购买 nike

假设我有一个向量:

v <- c(a=1, b=2, c=3, d=4)
v
a b c d
1 2 3 4

我想创建一个新向量 new_v,这样:如果可以在 v 中找到一个元素,则它等于 v 中的值,否则分配给0。例如,v中不存在efg,它们都被赋值为0 ,这样:

> new_v
a b c d e f g
1 2 3 4 0 0 0

我知道它可以通过ifelse为每个元素创建。由于我有一个很长的向量,我想知道创建它的最佳方法是什么。

最佳答案

setdiff 与向量的名称结合使用,并将其分配给 0 而不是条件表达式

v[setdiff(letters[1:7], names(v))] <- 0

-输出

> v
a b c d e f g
1 2 3 4 0 0 0

关于r - 如果不在 R 向量中,如何将元素分配为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72620662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com