我正在尝试将带有标签/值的数据帧转换为命名数字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)
答案 0 :(得分:3)
您可以使用setNames
功能
v <- with(df, setNames(values, lab))
v
# A B C D
# 1 2 3 4