簡體   English   中英

R:使用鍵值列表將列映射到列

[英]R : Map a column to column using key-value list

在R中,我想使用鍵值列表將一列鍵轉換為值。 它類似於: 如何通過R中的字典映射列 ,但我想使用列表而不是data.frame。

我試過使用列表和列來做到這一點:

d = list('a'=1, 'b'=2, 'c'=3)
d[c('a', 'a', 'c', 'b')]  # I want this to return c(1,1,3,2) but it doesn't

但是,上面返回一個列表:

list('a'=1, 'a'=1, 'c'=3, 'b'=2)

unlist在這種情況下是一個有用的功能

unlist(d[c('a', 'a', 'c', 'b')], use.names=FALSE)
#[1] 1 1 3 2

或者另一個選項是stack ,它將'key / value'作為'data.frame'中的列返回。 通過對值列進行子集化,我們得到了

stack( d[c('a', 'a', 'c', 'b')])[,1]
#[1] 1 1 3 2

暫無
暫無

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

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