簡體   English   中英

R在cthon中有像'python'或'map'那樣的'dict'嗎?

[英]Does R have 'dict' as in python or 'map' as in c++ do?

我是R編程的新手。 在檢查了一些教程之后,我選擇了我需要的大部分內容,但仍然缺少一件事:數據結構圖。

大家都知道R是否有詞典嗎? 我可以存儲(鍵,值)對嗎?

謝謝!!

是的,它被稱為list

> x <- list(a=1, b="foo", c=c(1,1,2,3,5))
> x
$a
[1] 1

$b
[1] "foo"

$c
[1] 1 1 2 3 5

在Python中,它被稱為dict ,因為它的價值。

環境也是候選者,在許多情況下是最佳選擇。

e<-new.env(hash=T)
e$a<-1
e$b<-2

R> e$a
[1] 1

列表的缺點是它是線性搜索。

哈希包..

由於可以命名數組/向量元素,因此您可以獲得內置的地圖/字典的一些屬性。

x <- c(apple = 1, banana = 99, "oranges and lemons" = 33)
x["apple"]
x[c("bananas", "oranges and lemons")]
x[x == 99]

(如果您的值的類型不同,則需要使用list而不是向量。)

前面提到的散列包確實增加了一些開銷,但確實提供了一種靈活,直觀的方法來訪問map / hash / dictionary。 使用其他語言的用戶應該很容易理解它。

如果列表具有少量元素,則列表是最佳解決方案。 (<200左右)。

如果你絕對不能容忍一點開銷並且你不想要靈活,直觀的方法,那么最好使用一個環境。

在大多數情況下,哈希包是最好的。

C-

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM