将标签/值的数据帧转换为命名数字向量

时间:2014-06-26 15:03:02

标签: r

我正在尝试将带有标签/值的数据帧转换为命名数字vecotr。 例如,我有以下数据框

>df=data.frame(lab=c("A","B","C","D"),values=c(1,2,3,4))  
> df  
   lab values  
1   A      1  
2   B      2  
3   C      3  
4   D      4  

所以我要做的是迭代或使用此数据框上的函数来获取以下内容

>v_needed=c("A"=1,"B"=2,"C"=3,"D"=4)  
> v_needed  
A B C D   
1 2 3 4 

我试图将其转换为一个因子,但它没有提供所需的输出

>v_failure=factor(df$values,labels=df$lab)

1 个答案:

答案 0 :(得分:3)

您可以使用setNames功能

v <- with(df, setNames(values, lab))
v
# A B C D 
# 1 2 3 4