在 R 中创建向量(关联数组)
Creating a vector in R (Associative array)
我知道我可以像这样在 R 中创建一个数组:
vec <- c(a=1,b=2,c=3)
vec["b"]
#b
#2
我有一个这样的列表:
> traits
[1] STD V1 V2 V3 W1 W2 W3
Levels: STD V1 V2 V3 W1 W2 W3
我想要创建什么和关联数组
AA<- c(STD=0,V1=0,V2=0,V3=0,W1=0,W2=0,W3=0)
然后我可以更新数组 AA("STD")=1 或其他任何内容
你可以试试-
traits <- factor(letters[1:3])
AA <- setNames(numeric(length(x)), x)
AA
#a b c
#0 0 0
我们可以试试
setNames(rep(0, length(traits)), levels(traits)[traits])
STD V1 V2 V3 W1 W2 W3
0 0 0 0 0 0 0
数据
traits <- factor(c("STD", "V1", "V2", "V3", "W1", "W2", "W3"))
我知道我可以像这样在 R 中创建一个数组:
vec <- c(a=1,b=2,c=3)
vec["b"]
#b
#2
我有一个这样的列表:
> traits
[1] STD V1 V2 V3 W1 W2 W3
Levels: STD V1 V2 V3 W1 W2 W3
我想要创建什么和关联数组
AA<- c(STD=0,V1=0,V2=0,V3=0,W1=0,W2=0,W3=0)
然后我可以更新数组 AA("STD")=1 或其他任何内容
你可以试试-
traits <- factor(letters[1:3])
AA <- setNames(numeric(length(x)), x)
AA
#a b c
#0 0 0
我们可以试试
setNames(rep(0, length(traits)), levels(traits)[traits])
STD V1 V2 V3 W1 W2 W3
0 0 0 0 0 0 0
数据
traits <- factor(c("STD", "V1", "V2", "V3", "W1", "W2", "W3"))