用过perl和Python的人一定会对字典、散列、哈希有印象,通过以对象去获得它的值,这在需要映射的时候非常有用。虽然R语言也可以通过name或者索引来构建这种关系,总归没有hash来的习惯。
library(hash)
help(hash)
example("hash")
创建一个hash:
h <- hash( letters, 1:26 )
索引
h[letters[1:3]]
<hash> containing 3 key-value pair(s).
a : 1
b : 2
c : 3
> h$a
[1] 1
> h$b
[1] 2
> h[[ "a" ]]
[1] 1
修改值
h$a<-100
# h[['a']]<-letters
类型转换:
is.hash(h)
[1] TRUE
as.list(h)
$`f`
[1] 6
$g
[1] 7
$h
[1] 8
$i
[1] 9
$j
[1] 10
$k
[1] 11
$l
[1] 12
$m
[1] 13
$n
[1] 14
$o
[1] 15
$p
[1] 16
$q
[1] 17
$r
[1] 18
清空与删除
> clear(h)
> h
<hash> containing 0 key-value pair(s).
NA : NULL
rm(h)
网友评论