【发布时间】:2020-02-06 13:40:20
【问题描述】:
我需要将一个整数映射到 R 中的一个整数。 在 python 中,这是字典的工作
>>> a = { 4: 1, 5: 2, 6:3 }
>>> a[5]
2
但 R 中不存在这样的东西。矢量不起作用:
a<- c(1,2,3)
> a
[1] 1 2 3
> names(a) <- c(5,6,7)
> a
5 6 7
1 2 3
> a[[5]]
Error in a[[5]] : subscript out of bounds
列表也不起作用
> a<- list(1,2,3)
> a
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
> names(a) <- c(4, 5, 6)
> a
$`4`
[1] 1
$`5`
[1] 2
$`6`
[1] 3
> a[[6]]
Error in a[[6]] : subscript out of bounds
【问题讨论】:
-
你刚才叫错了。试试
a['5']或a[['5']]。这应该适用于列表和命名向量 -
@sotos 这需要我以字符串的形式访问它。
-
哦,你需要把它称为整数吗?那么你不能因为R会将整数作为索引,而不是作为名称
-
@sotos 我添加了一个 python 示例。我可以为此目的使用任何数据结构吗?如果可能的话,我宁愿不通过字符串。
-
不,但你应该能够破解它。也许构建一个
x <- c(NA, NA, NA, 1, 2, 3)形式的向量,在这种情况下x[5]会给你2
标签: r